Я подключить QMediaPlayer::error()
сигнал и пытается воспроизвести видеофайл:QMediaPlayer :: Ошибка() никогда не излучаются, даже если видео не может играть
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 always returns true.
Как я могу узнать, что пошло не так?