/// <summary> /// 播放加载完毕的歌曲 /// </summary> internal static void PlayLoadFinishSong() { LogicDatas logicDatas = ModelManager.Instance.GetLogicDatas; ScenesDatas scenesDatas = ModelManager.Instance.GetScenesDatas; UILyricControl.InitLyric(scenesDatas.LyricItems, logicDatas.LyricInfo); scenesDatas.SongName.text = System.IO.Path.GetFileNameWithoutExtension(logicDatas.SongsName[logicDatas.CurrentSongIndex]); scenesDatas.SongPlayingTime.text = "00:00"; scenesDatas.SongTotalTime.text = SongTimeTools.SongTimeToStringTime(scenesDatas.AudioSource.clip.length); scenesDatas.SongTimeSlide.value = 0.0f; scenesDatas.AudioSource.time = 0.0f; scenesDatas.AudioSource.Play(); logicDatas.GameState = GameState.Playing; }
/// <summary> /// 当歌曲播放完毕时是单曲循环时 /// </summary> private static void OnSingleCycle() { LogicDatas logicDatas = ModelManager.Instance.GetLogicDatas; ScenesDatas scenesDatas = ModelManager.Instance.GetScenesDatas; scenesDatas.AudioSource.time = 0.0f; scenesDatas.AudioSource.Play(); scenesDatas.VideoPlayer.time = 0.0f; scenesDatas.VideoPlayer.Play(); scenesDatas.SongPlayingTime.text = "00:00"; scenesDatas.SongTimeSlide.value = 0.0f; UILyricControl.ResetLyric(scenesDatas.LyricItems); UILyricControl.InitLyric(scenesDatas.LyricItems, logicDatas.LyricInfo); if (!string.IsNullOrEmpty(scenesDatas.VideoPlayer.url) && scenesDatas.VideoPlayer.isPrepared) { scenesDatas.VideoPlayer.Play(); } logicDatas.Index = 0; }
/// <summary> /// 当歌曲播放完毕时是随机播放时 /// </summary> private static void OnRandomPlay() { LogicDatas logicDatas = ModelManager.Instance.GetLogicDatas; ScenesDatas scenesDatas = ModelManager.Instance.GetScenesDatas; int index = UnityEngine.Random.Range(0, logicDatas.SongsName.Length); logicDatas.Index = 0; if (index == logicDatas.CurrentSongIndex) { scenesDatas.AudioSource.Play(); if (string.IsNullOrEmpty(scenesDatas.VideoPlayer.url) && scenesDatas.VideoPlayer.isPrepared) { scenesDatas.VideoPlayer.Play(); } UILyricControl.InitLyric(scenesDatas.LyricItems, logicDatas.LyricInfo); } else { logicDatas.CurrentSongIndex = index; SongControl.ReleaseAudioRelatedResources(); SongControl.LoadNextSong(logicDatas.SongsName[logicDatas.CurrentSongIndex]); } }