unity3d v5.1.2 如何顺序播放音乐

 1 public AudioSource music;

 2 AudioClip[] clips;

 3 

 4 int[] clipSeq;

 5 int clipIndex;

 6 int clipMax;

 7 

 8     public delegate void musicOverCallback();

 9     public void playMusicClips (){

10         music.clip = clips [clipSeq[clipIndex]];

11         music.Play ();

16         StartCoroutine(haveNextMusic(music.clip.length, playMusicClips));

17     }

18     private IEnumerator haveNextMusic(float time, musicOverCallback callback){

19         yield return new WaitForSeconds (time);

20         clipIndex++;

21         if (clipIndex < clipMax) {

22 

23             callback ();

24         }

25     }

26   

 

本来是想用语音播放100,99等数字,但我不可能做上百个wav吧,只好把100拆成一百,需要2个wav,并按顺序播放出来

不知道有没有更简单的方法

最终用协程搞定了,还有个问题就是,这种方法没办法很好地停止上一个数字的语音播报,需要加一些其他代码来做控制

呃……好蠢的方法,不知道还有没有更好的:(

你可能感兴趣的:(unity3d)