0

我有以下设置,

audio_output = new QAudioOutput(*audio_format, this);
audio_device = audio_output->start(); // Return QIODevice
audio_device->open(QIODevice::ReadWrite);

我需要一个函数,它在播放时将数据写入 audio_device 流的末尾。问题是它在播放时会改变位置(测试过这个)。我需要打电话,

audio_device->write(buffer, byte - buffer);

写入写入缓冲区的末尾。我怎样才能让它同时播放和写作?

非常感谢这里的任何帮助。

__编辑__

部分修复!它发出轻微的噼啪声。

while (audio_device->write(buffer, byte - buffer) < 1)
    usleep(10);

看起来它无法写入缓冲区。有没有更好的方法来做到这一点?

4

0 回答 0