2016-07-25 4 views
0

Я пытаюсь играть * .avi файл (~ 900Mb) с этим кодом:Воспроизведение * .avi файлов с Qt

QMediaPlayer* player = new QMediaPlayer(this); 
player->setMedia(QUrl::fromLocalFile("mes1.avi")); 
player->setVideoOutput(ui->videoWidget); 
player->play(); 

где ui->videoWidget является QVideoWidget и каждый раз, когда я играю я получаю этот код ошибки (в Application Output консоли)

Поскольку Google не помогает, это мой единственный выбор ...

DirectShowPlayerService::doRender: Unresolved error code 0x80040266 (IDispatch error #102) 

EDIT1: Я установил K-Lite Codec Pack 12.2.6.

EDIT2: Мое приложение является 32-битной, но это не должно быть проблемой, так как K-Lite включают в себя 32bit (source).

+0

Я искал ошибку и нашел это - https://stackoverflow.com/questions/20287688/qt5-video-render-error-code-80040218. Вам нужно установить кодеки на свой компьютер. – sashoalm

+1

Вы можете попробовать vlc-qt – Zen

+0

@sashoalm Я уже установил K-Lite Codec Pack 12.2.6, и он не сделал много ... – carobnodrvo

ответ

3

Используйте vlc-qt, и вы обнаружите, что так легко воспроизводить все виды видео на всех платформах, даже XP, которые давно были оставлены qt.

+0

Это сработало для меня, спасибо! – AsG

Смежные вопросы