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();

Tips

CriAtomExPlayback.statusで、それぞれの音声の再生状態を確認することができます。
author:テイ