CRI ADX2(Unity)
初級編03 音量やピッチを変更する

CriAtomSourceで音量・ピッチを調整

CriAtomSourceコンポーネントのインスペクタで、音量とピッチの調整ができます。

二つのスライドバーはそれぞれ以下のCriAtomSourceフィールドに対応しています。
この二つのフィールドに値を与えれば、スクリプトから音量やピッチを変更できます。

  • 音量: CriAtomSource.volume
  • ピッチ: CriAtomSource.pitch

ステップバイステップ

前のチュートリアルでは、音を再生するシーンを作成しました。
次に説明する手順で、音量・ピッチ調整の効果を直感的に確認する機能をこのシーンに追加できます。

  1. まずシーンに音量調整用・ピッチ調整用スライダーを追加します。ここではそれぞれVolumeSlider、PitchSliderとします。
  2. 以下のように各スライダーの値を調整します。

    スライダー Min Max 初期値
    VolumeSlider 0 1 1
    PitchSlider -800 800 0

  3. 「初級編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;
    }
}

4.各スライダーのOnValueChangedイベントに3.で追加した関数を設定します。

これで、再生開始後に、スライダで音量・ピッチ調整の効果を確認できます。

author:テイ