HartoukChartEditor/Assets/Script/TestScript/Player.cs

112 lines
3.9 KiB
C#
Raw Permalink Normal View History

using System;
using TMPro;
using UnityEngine;
using UnityEngine.UI;
public class Player : MonoBehaviour
{
public TextMeshProUGUI musicName; //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD><EFBFBD><EFBFBD>
public TextMeshProUGUI nowTime; //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>Ѳ<EFBFBD><D1B2>ŵ<EFBFBD>ʱ<EFBFBD><EFBFBD><E4B3A4>
public TextMeshProUGUI allTime; //<2F><>ʾ<EFBFBD><CABE>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><E4B3A4>
public Slider slid; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public Transform buttons; //<2F><>ť<EFBFBD><C5A5><EFBFBD>ڵļ<DAB5><C4BC><EFBFBD><EFBFBD><EFBFBD>
public AudioClip[] auc; //<2F><><EFBFBD>Ÿ<EFBFBD><C5B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
public AudioSource aus; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
private int currentHour, currentMinute, currentSecond; //<2F>Ѳ<EFBFBD><D1B2>ŵ<EFBFBD>ʱ<EFBFBD>䣨ʱ<E4A3A8><CAB1><EFBFBD>֡<EFBFBD><D6A1>
private int clipHour, clipMinute, clipSecond; //<2F><>ʱ<EFBFBD>䣨ʱ<E4A3A8><CAB1><EFBFBD>֡<EFBFBD><D6A1>
public static Player _instance;
void Start()
{
_instance = this;
aus.Stop(); //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD>ţ<EFBFBD><C5A3><EFBFBD>ż<EFBFBD><C5BC>ſ<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
#region ע<EFBFBD><EFBFBD><EFBFBD>÷<EFBFBD>ʽ<EFBFBD><EFBFBD>Ȼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD>Ӵ<EFBFBD>϶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD>ŵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>value<EFBFBD><EFBFBD><EFBFBD>ʹ֮<EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><EFBFBD><EFBFBD>onValueChanged<EFBFBD><EFBFBD><EFBFBD>Ӷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵĽ<EFBFBD><EFBFBD>ȷ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>
///
/// <20><><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD>˸<EFBFBD>DragSlider<65>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڽ<EFBFBD><DABD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>ʵ<EFBFBD><CAB5><EFBFBD>϶<EFBFBD><CFB6><EFBFBD><EFBFBD>ŵ<EFBFBD>Ч<EFBFBD><D0A7>
///
//slid.onValueChanged.AddListener(delegate
//{
// //<2F><><EFBFBD><EFBFBD>֮<EFBFBD>󣬱<EFBFBD><F3A3ACB1><EFBFBD><EFBFBD>϶<EFBFBD><CFB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
// if (slid.value == 1)
// return;
// //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF><EFBFBD>϶<EFBFBD><CFB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>λ<EFBFBD>ò<EFBFBD><C3B2><EFBFBD>
// aus.time = slid.value * aus.clip.length;
//});
buttons.GetComponent<Button>().onClick.AddListener(Play);
#endregion
}
void Update()
{
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>ʱ<EFBFBD><CAB1>
nowtime();
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>ڲ<EFBFBD><DAB2>ŵ<EFBFBD><C5B5><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
alltime();
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>ڲ<EFBFBD><DAB2>ŵ<EFBFBD><C5B5><EFBFBD><EFBFBD><EFBFBD>
nowMusic();
}
void nowtime()//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>ʱ<EFBFBD><CAB1>
{
currentHour = (int)aus.time / 3600; //ʱ
currentMinute = (int)(aus.time - currentHour * 3600) / 60;//<2F><>
currentSecond = (int)(aus.time - currentHour * 3600 - currentMinute * 60);//<2F><>
//<2F><>ʾ<EFBFBD><CABE>ǰ<EFBFBD><C7B0><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>ʱ<EFBFBD><CAB1>
nowTime.text = aus.time.ToString();
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//(֮<><D6AE><EFBFBD><EFBFBD><EFBFBD>°<EFBFBD>)<29><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰû<C7B0><C3BB><EFBFBD><EFBFBD>ק<EFBFBD><D7A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//
}
void alltime()//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
{
//slid.value = 0;
clipHour = (int)aus.clip.length / 3600;//ʱ
clipMinute = (int)(aus.clip.length - clipHour * 3600) / 60;//<2F><>
clipSecond = (int)(aus.clip.length - clipHour * 3600 - clipMinute * 60);//<2F><>
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
allTime.text = string.Format("{0:D2}:{1:D2}:{2:D2}",
clipHour, clipMinute, clipSecond);
}
//private void LastMusic() //<2F><>һ<EFBFBD><D2BB>
//{
// index--; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ
// //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>-1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>Ƶ<EFBFBD><C6B5>aus<75><73><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1>ĵ<EFBFBD>һ<EFBFBD>ף<EFBFBD><D7A3><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ӦΪaus<75><73><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
// if (index == -1)
// index = auc.Length - 1;
// aus.clip = auc[index]; //<2F><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƵΪaus<75><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>Ƶ
// slid.value = 0; //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
// aus.time = 0; //<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><EFBFBD>ֵIJ<D6B5><C4B2><EFBFBD>ʱ<EFBFBD><EFBFBD><E4A3A8>ͷ<EFBFBD><CDB7>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
// aus.Play(); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƶ
//}
private void Pause() //<2F><>ͣ
{
aus.Pause();
}
private void Play() //<2F><><EFBFBD><EFBFBD>
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD>ڲ<EFBFBD><DAB2>ţ<EFBFBD><C5A3>򷵻<EFBFBD>
if (aus.isPlaying)
return;
aus.Play();
}
void nowMusic() //<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>Ƶ
{
AudioClip clip = aus.clip; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>Ƶ
string n = aus.clip.name; //<2F><>ǰ<EFBFBD><C7B0><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//string[] na = n.Split('-'); //<2F>ԡ<EFBFBD>-<2D><>Ϊ<EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><E3A3AC><EFBFBD><EFBFBD>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD>ɲ<EFBFBD><C9B2><EFBFBD>
//<2F><>ʾ<EFBFBD><CABE>ǰ<EFBFBD><C7B0><EFBFBD>ڲ<EFBFBD><DAB2>ŵĸ<C5B5><C4B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֡<EFBFBD><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC><EFBFBD><EFBFBD><EFBFBD>壬25<32>ţ<EFBFBD>+<2B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><><C4AC><EFBFBD><EFBFBD><EFBFBD>壬18<31>ţ<EFBFBD><C5A3><EFBFBD>ɫ)<29><><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>
musicName.text = n;
//index = Array.IndexOf(auc, clip);//<2F><>ǰ<EFBFBD><C7B0><EFBFBD>ŵ<EFBFBD><C5B5><EFBFBD>Ƶ<EFBFBD><C6B5>aus<75><73><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD><D0B5><EFBFBD><EFBFBD><EFBFBD>
/*Slider(); */ //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>
}
}