【发布时间】:2015-03-18 07:54:39
【问题描述】:
我从一个波形文件中读取音频数据并将这个音频数据(没有波形头信息)保存在一个字节[]中。 现在我想在我的 C# 项目中使用 NAudio 从这个字节 [] 流式传输。 我希望缓冲区的长度约为 100 毫秒,并定期重新填充它,这样播放就不会停止。
我可以创建我的 BufferedWaveProvider 对象并用我的 byte[] 中的前 x 个字节填充它,但是: 如何知道缓冲区何时用尽?
假设我第一次填充了缓冲区。当我通过 WavePlayer 对象开始播放时,播放缓冲区后播放停止。但是如何在播放光标到达缓冲区末尾之前用下一块音频数据重新填充此缓冲区?
这背后的原因是: 我想通过 FFT 转换每个缓冲区数据,以便可以在我的 GUI 中绘制当前频率。
希望有人能帮帮我。
【问题讨论】: