クリップからサンプルデータの配列を取得します。
The samples are floats ranging from -1.0f to 1.0f. The sample count is determined by the length of the float array.
Use the offsetSamples parameter to start the read from a specific position in the clip. If the read length from the offset is longer than the clip length, the read will wrap around
and read the remaining samples from the start of the clip.
圧縮されたオーディオファイル、オーディオインポーターで Load Type が Decompress on Load に設定されているときサンプルデータを引き出すのみしかできないことに注意してください。もしこれがそうでない場合、配列はすべてのサンプル値を 0 として返すことになります。
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void Start() { AudioSource aud = GetComponent<AudioSource>(); float[] samples = new float[aud.clip.samples * aud.clip.channels]; aud.clip.GetData(samples, 0); int i = 0; while (i < samples.Length) { samples[i] = samples[i] * 0.5F; ++i; } aud.clip.SetData(samples, 0); } }