从音频数据中绘制波形

时间:2014-03-18 16:42:45

标签: c# audio unity3d

在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...

        }
    }
}

0 个答案:

没有答案