public void PlayCrossFade(string musicName, TimeSpan duration, bool loopTrack = true) { if (!IsPlaying) { Play(musicName, loopTrack); } else { CurrentMusic.FadeOut(duration); CurrentMusicName = musicName; CurrentMusic.Stop(); CurrentMusic.PlayFadeIn(Volume, duration, loopTrack); } }
protected override void Update() { base.Update(); if (musicList.Count > 1) { //需要维护队列 if (CurrentMusic && !CurrentMusic.isPlaying) { CurrentMusic.Stop(); musicList.Remove(CurrentMusic); Destroy(CurrentMusic); CurrentMusic = musicList[0]; CurrentMusic.Play(); } } }
public void Stop() => CurrentMusic?.Stop();