我正在使用PortAudio来录制多声道音频数据。我想将每个通道的数据保存为单独的文件。因此,我必须在程序中的某个地方执行一些文件IO工作。由于文档建议不要在回调函数中执行任何IO工作,因为它们是以高频率调用的。
那么,执行IO工作的正确方法是什么?我应该开始另一个线程吗?
提前感谢您阅读我的帖子的时间!
答案 0 :(得分:0)
这就是我要做的事情:
1)为每个频道准备一个缓冲区。这些缓冲区将是您的存储缓冲区,而不是回调中的缓冲区。我建议在paData
结构中声明这些缓冲区。您必须根据您拥有的存储空间或时间限制来确定缓冲区长度。
2)停止录制时,让它调用一个使文件IO工作的方法。
3)使用步骤1中的缓冲区并写入文件。
4)重复