我有以下设置,
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);
看起来它无法写入缓冲区。有没有更好的方法来做到这一点?