2009-04-25 116 views
4

我该如何做到这一点,所以在我的程序中有一个按钮,当按钮被点击时,我希望它播放.wma文件,而无需打开和媒体播放器?用C++播放声音?

+1

你的目标是什么操作系统? – 2009-04-26 05:07:32

回答

19

C++标准不包含此功能。这意味着它取决于你的系统提供什么。

对于Windows,您可以尝试类似PlaySound的东西。

不过,你最好的办法是使用预先存在的库,如:

谷歌搜索C++ Sound Library带来了大量的信息。

此外,检查出这些其他三个SO topics

+1

Playsound不会播放.wma文件,只能播放.wav文件。 – 2009-04-26 05:04:47

2

虽然上面的回答提到它(和其他事物一样,它并没有给任何建议,所以......),FMOD是C++声音(最常用的)之王,并且效果很好,所以我建议在parti中使用FMOD丘拉尔。

0

KDE的Phonon是一个跨平台(!)C++多媒体库。它支持原生音效系统作为后端。值得一看的是,如果你以前没有看过它,一个简单的视频播放器可以写在83行代码。

1

Gstreamer是一个用C编写的免费的跨平台多媒体框架(使用GObject),允许对包括wma在内的多种媒体类型进行编码/解码。非常容易使用和有据可查。

0

对于Windows,诚实地说,你最好的选择是DirectShow。 RenderFile API允许你用几行代码播放大多数音频文件类型。

有关DirectShow的最好的部分是它是Windows平台的一部分,因此您不需要捆绑外部组件。