我正在尝试在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.wmv,一切都很好。我的视频播放,很完美。
但是当我想播放.mp4文件时,什么也没发生。视频播放器保持黑色。
我在网上搜索并看到有一个后端功能::可用MimeTypes,所以我尝试了它以确保我的后端与mp4兼容 - 它在列表中。以下是可用 MIME 类型的列表:
application/vnd.ms-wpl application/x-mplayer2 application/x-ms-wmd 应用程序/X-MS-WMZ 音频/3GPP 音频/3GPP2 音频/AIFF 音频/基本 音频/中音频/中音音频/MP3 音频/MP4 音频/MPEG 音频/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 音频/X-MS-蜡音频/X-MS-WMA 音频/X-WAV MIDI/MID 未知视频/3GPP 视频/3GPP2 视频/AVI 视频/MP4 视频/MPEG 视频/MPG 视频/MS视频 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
我还将mediaObject
的stateChanged
信号连接到插槽,当我尝试阅读视频时,出现错误,指出文件格式不受支持。
我怎样才能有 Phonon 来支持它?我应该安装编解码器包,即使 mp4 在我的列表中?
我最近遇到了类似的问题,在尝试了许多编解码器包后,这是有效的。
K 精简版大型编解码器包
如果您进入高级安装,则可以取消选中"工具","程序"(Windows 媒体播放器经典(,"Shell扩展",然后取消选中随附的免费浏览器工具栏,最终只会得到编解码器。
之后,我已经能够使用QtSDK的演示文件夹中包含的qmediaplayer示例程序在Windows上播放任何内容。