使用 Qt 播放 *.avi 文件

Playing *.avi files with Qt

我正在尝试使用以下代码播放 *.avi 文件(~900MB):

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

其中 ui->videoWidgetQVideoWidget,每次我播放它时都会收到此错误代码(在应用程序输出控制台中)

既然google没用,那我只能这样了...

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

编辑 1: 我已经安装了 K-Lite Codec Pack 12.2.6.

编辑2: 我的应用程序是 32 位的,但这应该不是问题,因为 K-Lite 包含 32 位 (source)。

使用vlc-qt,你会发现在所有平台上播放各种视频是如此简单,甚至是被qt抛弃已久的XP。