我有个问题想知道:如果我要画动态波形显示,是不是可以根据waveOutWrite函数里那个第二个参数,指针所指向的buffer里面的音频数据。还有,指针指向的音频数据到底是什么数据,是不是我们用UE打开个音频文件,里面显示的数据块的数据?画动态波形是吧是根据这个数据?如果不是,那么这个动态数据到底是什么,我可以得到采样率,bit位,通道等等。明白的帮忙看看,路过的帮忙顶贴。谢谢!

解决方案 »

  1.   

    第二个参数就是个header,header里面的lpData才是音频数据。采样率这些东西是在prepare的时候准备好的。
      

  2.   


    是的,我知道第二个参数就是个header,header里面的lpData才是音频数据。但不知道这个音频数据是不是我们用UE打开个音频文件,看到里面的数据块部分的数据,可不可以跟据这个数据去描画动态波形?
      

  3.   

    就是UE打开看到的那种数据。读取的时候,你需要根据单声道还是立体声来区分开怎么去读,根据采样率来决定一次读几个字节。比如采样率是16bit就一次读一个Word。相关的文献资料很多,你可以百度或者Google一下。
      

  4.   

    最好使用内存映射文件做,可能速度上要好些。Wave超过几十M以后使用CFile,IOStream都会很慢。