c++ - 使用 qmultimedia 低级 API 的 Qt 中的音频输出问题

标签 c++ qt audio qt4 multimedia

我正在尝试让 mpg123 音频解码器与 Windows 上的 QT 一起工作。如何在推送模式下使用 Qmultimedia 模块以正确的速度播放解码后的音频数据。目前我正在使用简单的计时器来让它播放音频,但它不是很有效的方法,如果我同时做任何其他事情,音频都会失真。有没有更好的方法将解码后的数据发送到音频输出?如果有人能指出任何使用 Qmultimedia 模块和 Qaudiooutput 类的好例子,那就太好了。我试图找出 QT 示例项目“audiooutput”,但它似乎也在使用计时器以推送模式将音频发送到输出。希望我不会太困惑。

最佳答案

我还必须弄清楚这一点,我还建议使用 Phonon 框架来做到这一点。 它在 Windows 上使用 Windows Media Player 作为主机,在 Mac 上使用 QuickTime,在 Linux 上使用一些 KDE 东西。 所以它非常独立于平台。

如果您需要更多低级功能,您应该查看一个名为 portaudio 的开源项目。它非常易于使用,您可以从代码中操作甚至填充缓冲区。 我用它来构建振荡器。

希望对您有所帮助!

最好的,

吉他流

关于c++ - 使用 qmultimedia 低级 API 的 Qt 中的音频输出问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4849294/

相关文章:

c++ - 为什么在宏中使用看似毫无意义的 do-while 和 if-else 语句?

c++ - 检测非标准滚动条

c++ - Qt 5 dds 支持以节省内存并改善渲染

c++ - 如何在 Qt Nokia 屏幕底部的栏上添加按钮?

Android - 节奏调整?

HTML5 Canvas 和音频跨浏览器兼容性

c++ - 这个元编程是如何编译下来的?

c++ - 为什么 bind1st 和 bind2nd 需要常量函数对象?

qt - 使用 cmake 从源代码构建应用程序和 Qt

javascript - 使用js循环播放音频