我正在连接QMediaPlayer::error()
信号并尝试播放视频文件:
QMediaPlayer *player = new QMediaPlayer;
QMediaPlaylist *playlist = new QMediaPlaylist(player);
playlist->addMedia(QUrl::fromLocalFile("/path/to/file.mp4"));
QVideoWidget *videoWidget = new QVideoWidget;
player->setVideoOutput(videoWidget);
videoWidget->resize(640, 340);
videoWidget->show();
ErrorPrinter *errorPrinter = new ErrorPrinter(player);
QObject::connect(player, SIGNAL(error(QMediaPlayer::Error)), errorPrinter, SLOT(printError(QMediaPlayer::Error)));
player->play();
视频小部件显示,但没有播放,所以它一定是在某个地方失败了。但是,QMediaPlayer::error()
信号永远不会发出!应用程序输出为空,没有断言,play()
函数为void
(无返回值表示成功或失败),并且playlist->addMedia 始终返回 true。
我应该如何找出问题所在?