Version: 2020.3
public bool GetData (float[] data, int offsetSamples);

描述

使用剪辑中的样本数据填充数组。

样本为浮点值,范围为 -1.0f 到 1.0f。样本数由 float 数组的长度决定。 使用 offsetSamples 参数开始从剪辑中的特定位置读取。如果从偏移开始的读取长度大于剪辑长度,则读取将环绕, 即从剪辑的开头读取剩余的样本。

注意,对于压缩音频文件,仅当在音频导入器中将 Load Type 设置为 Decompress on Load 时才能检索样本数据。否则,将返回所有样本值均为零的数组。

using UnityEngine;

public class Example : MonoBehaviour { // Read all the samples from the clip, reducing their gain by half // as we go along.

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); } }