Заполняет массив с образцами данных из клипа.
Образцы - значения типа float в диапазоне от -1.0f до 1.0f. Количество образцов определяется длиной массива с плавающей точкой.
Используйте offsetSamples чтобы начать читать из случайной позиции клипа. Если длина считывания от смещения больше чем длина клипа, считывание будет "обернуто вокруг"
и прочитаны оставшиеся образцы с начала клипа.
Заметьте, что с компрессией аудио файлов, данные могут быть восстановлены только когда тип "Load Type" установлен в "Decompress On Load" в аудио импортере. Если это не так, то массив будет возвращен с нулями для всех значений.
// Read all the samples from the clip, reducing their gain by half // as we go along. function Start () { var aud = GetComponent.<AudioSource>(); var samples = new float[aud.clip.samples * aud.clip.channels]; aud.clip.GetData(samples, 0); for (var i = 0; i < samples.Length; ++i) samples[i] = samples[i] * 0.5f; aud.clip.SetData(samples, 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); } }