CRI ADX2(Unity)
初級編03 音量やピッチを変更する
CriAtomSourceで音量・ピッチを調整
CriAtomSourceコンポーネントのインスペクタで、音量とピッチの調整ができます。
二つのスライドバーはそれぞれ以下のCriAtomSourceフィールドに対応しています。
この二つのフィールドに値を与えれば、スクリプトから音量やピッチを変更できます。
- 音量: CriAtomSource.volume
- ピッチ: CriAtomSource.pitch
ステップバイステップ
前のチュートリアルでは、音を再生するシーンを作成しました。
次に説明する手順で、音量・ピッチ調整の効果を直感的に確認する機能をこのシーンに追加できます。
- まずシーンに音量調整用・ピッチ調整用スライダーを追加します。ここではそれぞれVolumeSlider、PitchSliderとします。
-
以下のように各スライダーの値を調整します。
スライダー Min Max 初期値 VolumeSlider 0 1 1 PitchSlider -800 800 0 - 「初級編01」で使用したCuePlay.csにスライダ関連のコードを追加します。
public class CuePlay : MonoBehaviour
{
/* フィールドを追加 */
public UnityEngine.UI.Slider volSlider;
public UnityEngine.UI.Slider pitchSlider;
private CriAtomSource atomSrc;
void Start() {
atomSrc = (CriAtomSource)GetComponent("CriAtomSource");
}
public void PlaySound() {
if (atomSrc != null) {
atomSrc.Play();
}
}
public void PlayAndStopSound()
{
if (atomSrc != null) {
CriAtomSource.Status status = atomSrc.status;
if ((status == CriAtomSource.Status.Stop) || (status == CriAtomSource.Status.PlayEnd)) {
atomSrc.Play();
} else {
atomSrc.Stop();
}
}
}
/* イベントコールバック用関数を追加 */
public void OnVolSliderChanged() {
atomSrc.volume = volSlider.value;
}
public void OnPitchSliderChanged() {
atomSrc.pitch = pitchSlider.value;
}
}
Unity EditorのInspector上でそれぞれのスライダーを指定します。
4.各スライダーのOnValueChangedイベントに3.で追加した関数を設定します。
これで、再生開始後に、スライダで音量・ピッチ調整の効果を確認できます。