Объявление
public bool GetData(float[] data, int offsetSamples);Описание
Заполняет массив образцами данных из клипа.
Образцы представляют собой числа с плавающей запятой в диапазоне от -1,0f до 1,0f. Количество выборок определяется длиной массива с плавающей запятой. Используйте параметр offsetSamples, чтобы начать чтение с определенной позиции в клипе. Если длина считывания по смещению больше, чем длина клипа, чтение будет повторяться и считываться оставшиеся сэмплы с начала клипа.
Обратите внимание, что для сжатых аудиофайлов данные сэмпла можно извлечь, только если для параметра Тип загрузки установлено значение Распаковывать при загрузке в средстве импорта аудио. Если это не так, то массив будет возвращен с нулями для всех выборочных значений.
using UnityEngine;
public class Example : MonoBehaviour
{
// Читаем все сэмплы из клипа, уменьшая их усиление вдвое
// по мере продвижения.
void Start()
{
AudioSource audioSource = GetComponent<AudioSource>();
float[] samples = new float[audioSource.clip.samples * audioSource.clip.channels];
audioSource.clip.GetData(samples, 0);
for (int i = 0; i < samples.Length; ++i)
{
samples[i] = samples[i] * 0.5f;
}
audioSource.clip.SetData(samples, 0);
}
}