CRI ADX2(Unity)
初級編02 音の止め方
CriAtomSourceを止める
前のチュートリアルで説明したように、CriAtomSource.Stop()を呼び出すだけで再生中の音が止まります。
とっても簡単ですね。
CriAtomSource.Play()を連続で実行すると、複数の音を同時に再生することができます。
複数の再生音がある時にCriAtomSource.Stop()を呼び出すと、そのCriAtomSourceで再生中のすべての音が止まります。
Tips
CriAtomSourceの再生状態はCriAtomSource.statusで確認することができます。再生中の音声を個別に止める
「BGMは再生したまま、キャラクタのセリフだけを止める」など、個別の音を再生制御するにはどうすればよいのでしょうか。
全ての音に別々のCriAtomSourceを用いる、という方法もありますが、以下ではよりシンプルで効果的な方法を紹介します。
CriAtomSource.Play()を実行すると、CriAtomExPlayback型の値が返されます。
これが再生中の音声のインスタンスを示す「再生音オブジェクト」になっています。
下の例のように、再生音オブジェクトをキープして置けば、あとからCriAtomExPlayback.Stop()を実行することで、その音だけを止めることができます。
CriAtomSource atomSrc = gameObject.GetComponent<CriAtomSource>();
/* 3つのCueを連続再生 */
CriAtomExPlayback playback1 = atomSrc.Play("Cue1");
CriAtomExPlayback playback2 = atomSrc.Play("Cue2");
CriAtomExPlayback playback3 = atomSrc.Play("Cue3");
/* Cue2だけを止める */
playback2.Stop();