Version: 2022.3
public bool SetData (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 and half the gain 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); } }