本文主要是介绍QT中使用QMediaPlayer + QVideoWidget播放视频,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
QT中使用QMediaPlayer + QVideoWidget播放视频
项目中有要在qt中播放视频的要求,这里做下记录
CMakeLists.txt文件编写
主要修改如下两处
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets multimedia multimediawidgets)
find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets multimedia multimediawidgets)target_link_libraries(ProjName PRIVATEQt${QT_VERSION_MAJOR}::WidgetsQt${QT_VERSION_MAJOR}::MultimediaWidgets
)
代码中如何编写
QVideoWidget *videoWidget = new QVideoWidget(ui->localPlayer);QMediaPlayer *player = new QMediaPlayer;player->setMedia(QMediaContent(QUrl(utils.string2Qstring(videoPath))));player->setVideoOutput(videoWidget);videoWidget->show();
player->play();
报错
出现报错
DirectShowPlayerService::doRender: Unresolved error code 0x80040266 (IDispatch error #102
Qt 中的多媒体播放,底层是使用DirectShowPlayerService,所以安装一个DirectShow解码器,例如LAV Filters,就可以解决运行出错问题,可以从该处下载
https://github.com/Nevcairiel/LAVFilters/releases
这篇关于QT中使用QMediaPlayer + QVideoWidget播放视频的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!