我想在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
我也連接mediaObject
的stateChanged
信號到一個槽,當我嘗試閱讀我的視頻,說有文件格式不支持的錯誤。
如何讓Phonon支持它?我是否應該安裝編解碼器包,即使mp4在我的列表中?
您可以使用vlc來查找文件中的音頻和視頻流嗎?人們對文件擴展名非常自由。 – UmNyobe
您可以嘗試安裝K-Lite編解碼器包嗎?我記得一個類似的問題,其中報告的功能不是兼容DirectShow的功能。 – Bart
我試着安裝K-Lite編解碼器包,沒有任何改變。但我注意到視頻是H264 - MPEG-4 AVC(根據VLC),音頻是MPEG AAC Audio。也許這是問題嗎? – Exanis