Я пытаюсь воспроизвести файл * .avi (~ 900 МБ) с этим кодом:
QMediaPlayer* player = new QMediaPlayer(this);
player->setMedia(QUrl::fromLocalFile("mes1.avi"));
player->setVideoOutput(ui->videoWidget);
player->play();
где ui->videoWidget
является QVideoWidget
и каждый раз, когда я играю, я получаю этот код ошибки (в консоли вывода приложения)
Так как Google не помогает, это мой единственный выбор …
DirectShowPlayerService::doRender: Unresolved error code 0x80040266 (IDispatch error #102)
EDIT1:
Я установил K-Lite Codec Pack 12.2.6.
EDIT2:
Мое приложение 32-битное, но это не должно быть проблемой, так как K-Lite включает 32-битную версию (источник).
Используйте vlc-qt, и вы обнаружите, что очень легко воспроизводить все виды видео на всех платформах, даже XP, от которых qt давно отказалась.
Других решений пока нет …