我正在开展一个小项目(只是为了好玩),它允许我显示当前音频缓冲区中播放的频率。
计划是:
正在执行n-1
方法的线程继续播放和重新填充两个音频缓冲区。当第一个缓冲区正在播放时,第二个缓冲区会重新填充,反之亦然。为了确保一个缓冲区在另一个缓冲区停止播放之前没有开始播放,我使用WaveOutPlayer.ThreadProc()
方法。在缓冲区的音频数据被WaitOne()
设备播放后,将调用缓冲区的WaveOut
方法。这种方法取消了等待。
播放本身开始播放,但非常不稳定。
有人能告诉我为什么会这样吗?
OnCompleted()
项目位于http://www.pour-toujours.net/lowlevelaudio.zip
(目前,仅支持16位,立体声,44,1kHz未压缩的wav。)
这里有一些似乎相关的代码:
Visual Studio