Qt中插入视频的方法很多,有QVideoPlayer方法,也有用Phonon的,本篇博客就是描述如何在一个QMainwindow界面中,划出一个区域,播放视频,并可以控制视频的切换、停止、暂停、循环,笔者会将遇到的坑一个个重述一遍,以作为后来者的学习资料。
最终的效果如下:
导师交给我一个任务,按界面上一个按钮之后,在界面上的一个固定的区域,显示一个装配动画视频,然后按另一个按钮,视频变成了另一个,界面用Qt做,在Windows7系统下,用Qt Creator来编,以方便后面移至到Linux系统上,使用深度学习的框架进行图像分类。
第一阶段:
首先遇到的问题是,用什么方法,网上教程很多,很多是QMediaPlayer的方法,也有用Phonon的,按照网上的教程来使用Phonon,程序都写完了,发现没有Phonon库,而在Qt5下面安装起来又很麻烦。由于Phonon不是Qt自己弄的,所以还是推荐使用QMediaPlayer模块配合。
http://blog.csdn.net/gamesdev/article/details/8520955
第二阶段:
按照网上的教程,我们新建一个Qt Creator的工程,命名为a,如图。
根据教程https://zhidao.baidu.com/question/561070081.html,我们首先在.pro文件中添加一行代码:
QT += multimedia multimediawidgets
然后,我们修改mainwindow.h中的代码:
我们添加了三个包含文件,增加了一个QMediaPlayer对象和一个QVideoWidget对象。
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QUrl>
//要包含下面的两个文件,必须在.pro文件中添加 QT += multimedia multimediawidgets
#include <QMediaPlayer>
#include <QVideoWidget>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private:
Ui::MainWindow *ui;
QMediaPlayer *player;
QVideoWidget *videoWidget;
};
#endif // MAINWINDOW_H
我们在mainwindow.cpp中添加代码:
代码都浅显易懂,基本上不用解释。
#include "mainwindow.h"
#include "ui_mainwindow.h"