/// <summary> /// 初期化処理 /// </summary> /// <param name="music">再生楽曲情報</param> void Setup(MusicParamObject music) { musicParam = music; audioEntity = audioPool.Rent(); audioSource = audioEntity.audioSource; if (audioSource == null) { Debug.LogError("null source"); } }
/// <summary> /// 再生開始 /// </summary> /// <param name="music">再生楽曲情報</param> /// <param name="Immediately">即時再生開始するか</param> public void Play(MusicParamObject music, bool Immediately = false) { Setup(music); audioSource.clip = music.musicClip; audioSource.outputAudioMixerGroup = music.outputMixerGroup; audioSource.Play(); if (Immediately) { return; } var curve = music.attackCCurve; var timespan = music.attackTime; //fadein attackSubscripion = FadeVolume(curve, timespan, () => { }); }