我正试图在Windows上使用QT和Phonon编写一个非常简单的视频播放器。我的后端是phonon_ds94。首先,这是我点击“播放”时的代码:
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类型列表:
application / vnd.ms-wpl application / x-mplayer2 application / x-ms-wmd application / x-ms-wmz audio / 3gpp audio / 3gpp2 audio / aiff audio / basic 音频/中音/ midi音频/ mp3音频/ mp4音频/ mpeg音频/ mpegurl audio / mpg audio / vnd.dlna.adts audio / wav audio / x-aiff audio / x-mid audio / x-midi audio / x-mp3 audio / x-mpeg audio / x-mpegurl audio / x-mpg audio / x-ms-wax audio / x-ms-wma audio / x-wav midi / mid unknown video / 3gpp video / 3gpp2 video / avi video / mp4 video / mpeg video / mpg video / msvideo video / quicktime video / vnd.dlna.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 video / x-ms-wvx video / x-msvideo vnd.ms.wmhtml
我还将stateChanged
的{{1}}信号连接到一个插槽,当我尝试读取我的视频时,会出现错误,说不支持文件格式。
我如何让Phonon支持它?我是否应该安装编解码器包,即使mp4在我的列表中?
答案 0 :(得分:2)
我最近遇到了类似的问题,在尝试了一些编解码器包后,这是一个有用的。
如果您进入高级安装,可以取消选中“工具”,“程序”(Windows Media Player Classic),“Shell扩展”,然后取消选中随附的免费浏览器工具栏,最终得到只是编解码器。
之后我可以使用QtSDK的Demos文件夹中包含的qmediaplayer示例程序在Windows上播放任何内容。