2012-05-15 152 views
1

我想在Windows上使用QT和Phonon編寫一個非常簡單的視頻播放器。我的後端是phonon_ds94。首先,這裏是當我點擊「播放」的代碼:使用Phonon播放mp4視頻

if (!this->_files.empty()) { 
    QString file = this->_files.front(); 

    this->_files.pop(); 

    Phonon::MediaSource _src(file); 
    this->ui.videoPlayer->play(_src); 
} 

(在這裏,文件是一個std ::文件的讀取隊列)

如果我想打一個.AVI ou .wmv,一切正常。我的視頻播放,非常完美。

但是當我想播放一個.mp4文件時,什麼都不會發生。 videoPlayer保持黑色。

我在網上搜索,看到有一個BackendCapabilities :: availableMimeTypes,所以我試着確保我的後端與mp4兼容 - 它在列表中。這裏是可用的MIME類型的列表:

應用程序/ vnd.ms-WPL應用程序/ x-mplayer2應用程序/ x-MS-WMD 應用程序/ x-MS-WMZ音頻/ 3GPP音頻/ 3GPP2音頻/ aiff音頻/基本型 音頻/ mid音頻/ midi音頻/ mp3音頻/ mp4音頻/ mpeg音頻/ mpegurl audio/mpg音頻/ vnd.dlna.adts音頻/ wav音頻/ x-aiff音頻/ x-mid audio/x-midi音頻/ x-mp3音頻/ x-mpeg音頻/ x-mpegurl音頻/ x-mpg 音頻/ x-ms-wax音頻/ x-ms-wma音頻/ x-wav midi/mid未知視頻/ 3gpp video/3gpp2 video/avi video/mp4 video/mpeg video/mpg video/msvideo video/quicktime video/vnd.d lna.mpeg-tts video/x-mpeg video/x-mpeg2a video/x-ms-asf video/x-ms-asf-plugin video/x-ms-wm video/x-ms-wmv video/x -MS-WMX視頻/ X-MS-WVX視頻/ X-msvideo vnd.ms.wmhtml

我也連接mediaObjectstateChanged信號到一個槽,當我嘗試閱讀我的視頻,說有文件格式不支持的錯誤。

如何讓Phonon支持它?我是否應該安裝編解碼器包,即使mp4在我的列表中?

+0

您可以使用vlc來查找文件中的音頻和視頻流嗎?人們對文件擴展名非常自由。 – UmNyobe

+0

您可以嘗試安裝K-Lite編解碼器包嗎?我記得一個類似的問題,其中報告的功能不是兼容DirectShow的功能。 – Bart

+0

我試着安裝K-Lite編解碼器包,沒有任何改變。但我注意到視頻是H264 - MPEG-4 AVC(根據VLC),音頻是MPEG AAC Audio。也許這是問題嗎? – Exanis

回答

2

我最近有一個類似的問題,並嘗試了一些編解碼器包後,這是一個工作。

K Lite Mega Codec Pack

如果你進入了高級安裝,可以取消選中「工具」,「計劃」(Windows媒體播放器的經典),「外殼擴展」,後來取消了免費的瀏覽器工具欄來與它,你最終只是編解碼器。

之後,我可以使用qtSDK的Demos文件夾中包含的qmediaplayer示例程序在Windows上播放任何內容。