我正在尝试使用QT多媒体框架(5.0.1)播放电影,但我只得到一个带有H.264的mov的黑屏。
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QWidget *mainWidget = new QWidget();
mainWidget->setGeometry(0,0, 1920, 1080);
QVideoWidget *widget = new QVideoWidget(mainWidget);
widget->setGeometry(0, 0, 1920, 1080);
QMediaPlayer *player = new QMediaPlayer;
QUrl localUrl = QUrl::fromLocalFile("test_mov.mov");
player->setMedia(localUrl);
qDebug() << "Player error state -> " << player->error();
qDebug() << "Media supported state -> " << QMediaPlayer::hasSupport("video/mov");
player->setVideoOutput(widget);
mainWidget->show();
player->play();
return a.exec();
}
代码正确编译并在控制台上提供以下输出,而视频小部件仍为黑色:
播放器错误状态 - &gt; QMediaPlayer :: NOERROR
媒体支持的状态 - &gt; 1 //表示“可能支持”
我在Mac OSX 10.7.5上使用Qt 5.0.1。该文件由播放器正确播放,ffmpeg -i test_mov.mov给出
持续时间:00:00:02.52,开始:0.000000,比特率:63708 kb / s 流#0:0(eng):视频:h264(主)(avc1 / 0x31637661),yuv420p,1920x1080,63684 kb / s,SAR 1745:1920 DAR 349:216,25 fps,25 tbr,25 tbn,50 tbc
有谁知道QT Multimedia支持哪些格式?
谢谢
答案 0 :(得分:0)
在Windows中,QT视频文件格式通常以.mov文件扩展名出现。 QuickTime支持的其他文件格式(不同程度)包括AIFF,WAV,DV,MP3和MPEG-1。