如何在C++中在多个操作系统上播放声音文件

How to play sound files on multiple OSes in C++?

本文关键字:操作系统 播放声音 文件 C++      更新时间:2023-10-16

我正在寻找一种便携式(Linux、Windows、Mac OS X)方式来播放OGG或AAC(和WAV)文件。

我尝试过像FMOD这样的封闭源代码选项,但许可证成本太高。

据该网站介绍,我曾尝试过Audiere这样的开源项目,但它在后OSS Linux发行版中效果不佳,自2006年以来一直没有更新。

我曾考虑过为每个平台找到一个解决方案,并将其抽象到一个类中,但我还没有找到在每个平台上实现这一点的最佳方法。

我不需要任何特殊功能,我只想播放/停止音频文件。(在C++中)

有什么建议吗?

OpenAL怎么样?

http://connect.creativelabs.com/openal/

可以使用PortAudio将音频以便携式方式输出到设备。要获得完整的解码和播放解决方案,请查看GStreamer。

考虑一下GStreamer,一个用于处理多媒体内容的跨平台解决方案。QtGstreamer提供C++绑定。

这篇文章讨论了Windows上的设置。