1

我一直在尝试使用 C++ 和 ASIO SDK(基于附加的主机样本)编写一个简单的录音机。到目前为止,我能够从通道获取输入,对其进行处理并转发到输出通道。

现在我想知道如何将输入重定向到文件。我的理论想法是使用某种缓冲区来存储来自输入的数据,然后,当它已满时,将其传递给将其保存到文件的模块。当然,在写入过程中,我想动态创建另一个缓冲区(甚至多个缓冲区)用于以连续方式存储输入数据。然后,当第一个缓冲区中的数据完全写入文件时,要做的是切换缓冲区(之前写入的一个将成为输入信号的接收器,另一个存储输入的将被保存归档)。

老实说,我不知道如何在实践中实现程序的这一部分。我不确定最佳缓冲区大小应该是多少,以免丢失任何数据。另外,我不知道如何将来自 2 个输入通道的数据存储在一个缓冲区中(我应该使用其中的 2 个吗?)。有没有这样的记录仪的例子?我搜索了互联网,但没有找到任何有用的东西。

4

0 回答 0