2013-02-15 70 views
5

我對Qt開發以及音頻編解碼器非常陌生。我最近找到了一種使用QSound播放mp3音效的方法。我想使用QAudioOutput在我的qt項目中播放它,但QAudioDeviceInfo :: supportedCodecs()中沒有mp3編解碼器。添加mp3編解碼器到qt-project

我試過安裝mp3編解碼器,但它仍未列在QAudioDeviceInfo :: supportedCodecs()中。我如何添加一個編解碼器到QAudioDeviceInfo :: supportedCodecs()?

+0

您使用的是哪個版本的Qt? 'QtMultimedia'已經改變了很多。 – UmNyobe 2013-02-15 08:48:15

+0

我正在使用Qt 5.0。 – aswin 2013-02-15 10:43:24

回答

3

按照定義QAudioDeviceInfo提供了一個接口來查詢音頻設備及其功能。這意味着由QAudioDeviceInfo::supportedCodecs()返回的任何編解碼器都是該設備能夠直接播放的編解碼器格式,並且可能是原始音頻格式,如pcm。另一方面mp3需要先通過一個軟件解碼器,所以它不會在這個列表中。

看看Media Player example作爲參考。它應該能夠播放MP3和其他格式。該項目應該位於機器的Qt源代碼或安裝目錄中,位於文件夾演示示例

從源頭上看,它不僅僅是勉強播放音頻。因此,着眼於類Player的構造以及方法Player::addToPlaylist()

PS:我在條件緊張的說話,因爲我不是Qt的更熟悉的Qt 4 5

編輯:

只要由於Windows媒體播放器無法播放mp3,因此在您的Qt應用程序中您將無法獲得完整的mp3支持,而我給您的Player示例也無法使用。在您的系統中下載一些編解碼器,直到Windows媒體播放器可以播放mp3。

+0

我試過這個例子中的類播放器。它不能播放mp3。 – aswin 2013-02-16 09:37:03

+0

你可以用另一個應用程序在你的系統中播放mp3嗎?你在使用哪個操作系統? – UmNyobe 2013-02-18 08:42:44

+0

我可以使用VLC播放器。我正在使用Windows XP。 – aswin 2013-02-20 09:40:14