在Unity 3d中,我试图绘制附加音频文件的波形(无需播放音频)。过了一会儿,我意识到我从GetData获得的数字主要是零和偶尔的Epsilon值。我有一个快速谷歌和其他人似乎经历同样的事情。
对Unity中的音频有更好理解的人可以指出我是否在某处发生了可怕的错误。但是,如果它是Unity错误;有解决方法吗?
using UnityEngine;
using System.Collections;
public class CheckGetData : MonoBehaviour
{
public AudioClip theSound;
void Start()
{
audio.clip = theSound;
int numOfSamples = audio.clip.samples; // 1647360
float[] samples = new float[numOfSamples];
audio.clip.GetData(samples, 0); //left channel
for (int i= 0; i < samples.Length; i++)
{
print(samples[i])
// 0 UnityEngine.MonoBehaviour:print(Object) 887 times
// -6.103516E-05
// -0.0001220703
// 6.103516E-05 etc...
}
}
}