QT使用QMediaPlayer + QVideoWidget播放视频文件


如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033

目录

文章目录

  • QT使用QMediaPlayer + QVideoWidget播放视频文件
    • @[toc]
    • 前言
    • 1.代码实现
      • 1.1 pro添加
      • 1.2 头文件添加
      • 1.3 代码实现
    • 2.效果
    • 3.注意事项
      • 3.1 部署
      • 3.2 播放无图像

环境:
QT版本:5.6.2
开发环境:VS2013
系统版本:windows 7 64bit


前言

我们需要用QT播放视频,如制作一个视频播放器等。

1.代码实现

1.1 pro添加

QT += multimedia multimediawidgets

1.2 头文件添加

//要包含下面的两个文件,必须在.pro文件中添加  QT += multimedia  multimediawidgets
#include <QMediaPlayer>
#include <QVideoWidget>
#include <QMediaPlaylist>

1.3 代码实现

 QWidget *widget = new QWidget;QVBoxLayout *layout = new QVBoxLayout;QMediaPlayer* player = new QMediaPlayer;QVideoWidget* videoWidget = new QVideoWidget;QMediaPlaylist* playlist=new QMediaPlaylist;videoWidget->setAspectRatioMode(Qt::IgnoreAspectRatio);videoWidget->setFullScreen(true);layout->addWidget(videoWidget);widget->setLayout(layout);playlist->clear();playlist->addMedia(QUrl::fromLocalFile("C:\\a.mp4"));player->setPlaylist(playlist);QFile file("C:\\a.mp4");if(!file.open(QIODevice::ReadOnly))qDebug() << "Could not open file";player->setVideoOutput(videoWidget);player->setPlaylist(playlist);widget->showFullScreen();player->play();

2.效果

3.注意事项

3.1 部署

在其他电脑上部署的时候需要注意包含
a.mediaservice plugin
b.QT5MULTIMEDIA.DLL

  • QT5NETWORK.DLL
  • QT5GUI.DLL
  • QT5CORE.DLL

c.QT5MULTIMEDIAWIDGETS.DLL

  • QT5MULTIMEDIA.DLL
  • QT5WIDGETS.DLL
  • QT5GUI.DLL
  • QT5CORE.DLL
  • QT5OPENGL.DLL

3.2 播放无图像

播放无图像,并报错:

DirectShowPlayerService::doRender: Unresolved error code 80040266

原因:
Qt 中的多媒体播放,底层是使用DirectShowPlayerService,所以安装一个DirectShow解码器,例如LAV Filters,就可以解决运行出错问题

解决方法:
LAVFilters论坛
LAVFilters下载


Reference:
http://doc.qt.io/qt-5/qtmultimedia-index.html
https://github.com/qyvlik/Flat.qml/issues/4

觉得文章对你有帮助,可以扫描二维码捐赠给博主,谢谢!

如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033

QT使用QMediaPlayer + QVideoWidget播放视频文件相关推荐

  1. QVideoWidget播放视频闪屏

    QVideoWidget播放视频闪屏添加如下代码: widget->setAttribute(Qt::WA_OpaquePaintEvent);

  2. ffmpeg和opencv 播放视频文件和显示器

    ffmpeg它是基于最新版本,在官网下载http://ffmpeg.zeranoe.com/builds/.编译时VS2010配置相关头文件及库的路径就可以.opencv的搭建參考上一个博客. 首先简 ...

  3. C#(Winform)程序无法使用Windows Media Player 组件播放视频文件

    如果你的C#(Winform)程序无法使用Windows Media Player 组件播放视频文件(一旦点击播放立马程序闪退,但可以播放音频文件),请按照下面图例设置) 1.桌面右击鼠标找到 独立显 ...

  4. ffmpeg和opencv 播放视频文件并显示

    ffmpeg是基于最新版本,在官网下载http://ffmpeg.zeranoe.com/builds/.编译时VS2010配置相关头文件及库的路径即可.opencv的搭建参考上一个博客. 首先简单介 ...

  5. LabVIEW播放视频文件的方法与例程

    LabVIEW播放视频文件的方法与例程 用LabVIEW播放视频,有不同的方法. 比如,可以用Vision工具包里的vi来实现,这里播放只是基本的功能,更多用途是用来做视频图像分析处理的.这里仅以视频 ...

  6. OpenCV python 播放视频文件(.avi)

    OpenCV python 播放视频文件(.avi) 同文件夹存放文件[test.avi] import cv2def main():# 1.初始化读取视频对象cap = cv2.VideoCaptu ...

  7. 用GooglePlayer在线播放视频文件

    把视频文件转换为FLV文件使用MEncoder  mencoder input . avi -o output . flv -of lavf /     -oac mp3lame -lameopts  ...

  8. FFmpeg播放视频文件流程

    一.FFmpeg解码播放主要流程,如图1-1所示: 使用播放一个媒体文件时,通常需要经过以下几个步骤: 图1-1    FFmpeg 播放视频文件流程 1.解封装(Demuxing):就是将输入的封装 ...

  9. 使用ffmpeg播放视频文件的过程

    本文中,红色字体部分是涉及到的ffmpeg部分,其他函数是视频显示部分或者内部封装函数(文中没有给出实现). 本文的主要目的,在于记录播放视频文件时用到的ffmpeg函数,及其用法. typedef ...

最新文章

  1. itext 添加空格_itext7史上最全实战总结
  2. 中考可用计算机吗,中考能用什么计算器 可以带电子手表吗
  3. linux下iSCSI的配置
  4. python学习笔记爬虫——爬取网络表情包
  5. matlab绘制均匀b样条曲线_[转载]用matlab实现B样条曲线
  6. 英语句式参考纯享版 - 定语从句
  7. 将java 文件夹里面的.java 文件 拷贝到temp文件夹下,并且修改后缀名为.txt
  8. 翻译:PyTorch基础知识学习 - transforms(变换)
  9. [免费专栏] Android安全之Root检测与Root绕过(浅析)
  10. Android APP在线自动更新安装
  11. 2020大疆校招B卷第三题
  12. 新一代云上基础技术和架构分论坛
  13. 训练营四教官打死网瘾少年案今开庭审理
  14. Excel快速合并多行数据
  15. 一眼就能看懂的Android自学手册,深度好文
  16. Python turtle绘制——癸卯(兔)年卯兔图
  17. 再来30个!中国联通5G应用创新案例
  18. 链表详解(单链表、双向链表、链表逆序)
  19. Windows账户隐藏
  20. C++ 操作Excel

热门文章

  1. vscode LaTeX XeLaTeX下英文字体加粗失效
  2. 方盒滤波器和均值滤波器(python实现)
  3. 3D游戏建模就是那么简单!
  4. ati显卡驱动后,性能不咋地
  5. android 背光驱动
  6. prayaya v3虚拟系统续期方法
  7. elservier使用latex在editorial manager中提交文章
  8. 这道sort题你会了吗?
  9. educoder Git进阶之冲突处理、忽略文件
  10. stata行业变量怎么赋值_邹军:怎么通过宏程序实现刀具寿命管理(二)