【发布时间】:2011-05-10 02:45:56
【问题描述】:
我正在使用 Qt SDK 为Nokia E63 创建一个应用程序。我可以通过实现一个继承QIODevice 的类来实现录音功能。每次手机硬件读取新的音频样本时,它都会将它们转发给我的QIODevice 进行写入。
我的目标录音频率是16000赫兹,但设备只支持8000赫兹和48000赫兹。我选择以 48000 录制,然后将其重新采样到 16000 Hz。此方法记录良好,除非 10 秒左右手机死机!我认为这是因为QIODevice 中的写入功能跟不上新样本的生成速度(48000 hz)。 write 方法跟不上的原因是它有重新采样的额外开销。
在单独的线程中实现重新采样并将样本写入文件函数有帮助吗?
在录音QIODevice 的写入函数中,我只是将样本复制到缓冲区,然后让我的重采样线程绕过缓冲区重新采样并写入文件。这种方法行得通吗?
【问题讨论】:
-
您查看过诺基亚 Qt SDK 中的the spectrum demo 吗?