2009-04-25 184 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平臺的一部分,因此您不需要捆綁外部組件。