Version: 2017.2
public bool SetData (float[] data, int offsetSamples);

描述

在剪辑中设置样本数据。

样本应为浮点值,范围为 -1.0f 到 1.0f(超出这些限制将导致瑕疵和未定义的行为)。 样本数由 float 数组的长度决定。 使用 offsetSamples 写入剪辑中的随机位置。如果从偏移开始的长度大于剪辑长度,则写入将环绕, 即从剪辑的开头写入剩余的样本。

注意,对于压缩音频,仅当在音频导入器中将 Load Type 设置为 Decompress on Load 时才能设置样本数据。

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { void Start() { AudioSource audio = GetComponent<AudioSource>(); float[] samples = new float[audio.clip.samples * audio.clip.channels]; audio.clip.GetData(samples, 0); int i = 0; while (i < samples.Length) { samples[i] = samples[i] * 0.5F; ++i; } audio.clip.SetData(samples, 0); } }