/**************************************************************************************************/ /*! * \fn public void callbackFadeOut(EasyPlay handle) * フェードアウト時のコールバック(次の曲が登録されていたら再生開始する) * \param handle : EasyPlay クラス * \date 2014.12.25(Thu) * \author Masayoshi.Matsuyama@Donuts */ /**************************************************************************************************/ public void callbackFadeOut(EasyPlay handle) { // 次のがあれば再生します if (nextBgmName.Length > 0) { Donuts.Sound.Utility.debPrint("callbackFadeOut"); nowPlayName = ""; // わざわざフェードアウトして次のにつなぐので同じ曲だとしても再生するように現在再生していた曲の情報はクリアする PlayBGM(nextBgmPath, nextBgmName, true, nextFadeTime); nextBgmName = ""; nextBgmPath = ""; } }
/**************************************************************************************************/ /*! * \fn private void Play(string path, string name, bool isLoop, bool bFadeIn, float fadeInTime, float startTime) * 再生開始 * \param path : パス * \param name : 再生ファイル名 * \param isloop : ループ再生するか(true : ループ再生) * \param isFadeIn : フェードインするか(true : フェードインする) * \param fadeTime : フェードイン時間(秒) * \param startTime : 再生開始位置(秒) * \date 2014.12.25(Thu) * \author Masayoshi.Matsuyama@Donuts */ /**************************************************************************************************/ private void Play(string path, string name, bool isLoop = true, bool isFadeIn = true, float fadeTime = 2.0f, float startTime = 0.0f) { Donuts.Sound.Utility.debPrint("BGMManager:Play:" + name + ", isLoop:" + isLoop + ", isFadeIn:" + isFadeIn + ", fadeTime:" + fadeTime + ", startTime:" + startTime); // 上書きで停止する場合は EncCallback は破棄する if (nowPlayer != null) { nowPlayer.SetEndCallback(null); } Stop(); nowPlayer = EasyPlay.CreateAndBGMPlay(path, name, isLoop, isFadeIn, fadeTime, startTime); if (nowPlayer != null) { Donuts.Sound.Utility.debPrint("BGMManager.Play:" + name); nowPlayer.SetEndCallback(callbackPlayerEnd); nowPlayName = Donuts.Sound.Utility.MakeFullname(path, name); // isLoop = _isLoop; // isFadeOut = false; nowPlayer.gameObject.transform.parent = this.gameObject.transform; } }
/**************************************************************************************************/ /*! * \fn public void callbackPlayerEnd(EasyPlay handle) * 再生終了時コールバック * \param handle : EasyPlay クラス * \date 2014.12.25(Thu) * \author Masayoshi.Matsuyama@Donuts */ /**************************************************************************************************/ public void callbackPlayerEnd(EasyPlay handle) { Donuts.Sound.Utility.debPrint("callbackPlayerEnd"); nowPlayer = null; nowPlayName = ""; // これやらないと同じ曲を再生しようとするとキャンセルしてしまう }
/**************************************************************************************************/ /*! * \fn public void Stop() * 停止 * \date 2014.12.25(Thu) * \author Masayoshi.Matsuyama@Donuts */ /**************************************************************************************************/ public void Stop() { if (nowPlayer != null) { nowPlayer.Stop(); Destroy(nowPlayer.gameObject); nowPlayer = null; } nowPlayName = ""; //isFadeOut = false; Donuts.Sound.Utility.debPrint("BGMManager STOP"); }