Я подключаю сигнал 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.
Как я должен узнать, что пошло не так?