少年乘勇气,百战过乌孙。这篇文章主要讲述Qt实用技巧:使用QMediaPlayer播放mp4文件相关的知识,希望能为你提供帮助。
需求
做软件时,点击一个按钮切入另一个界面,需要播放一段动画。
原理
使用QMediaplayer,QVideoWidget,QMediaPlaylist实现,注意安装解码器 lavfilter(本机可播放,但qt不能播放,可能是解码器的原因)
注意
无法播放.swf文件。
效果图
代码1.工程文件QT += multimedia
QT += multimediawidgets
2.主界面已经拖入一个QWidget,并使其提升为QVideoWidget,文件代码#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <
QMainWindow>
#include <
QMediaPlayer>
#include <
QVideoWidget>
#include <
QMediaPlaylist>
namespace Ui
class MainWindow;
class MainWindow : public QMainWindow
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_pushButton_openPlayFile_clicked();
private:
Ui::MainWindow *ui;
QMediaPlayer *_oMediaPlayer;
QMediaPlaylist *_pMediaPlaylist;
;
#endif // MAINWINDOW_H
3.源文件代码#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <
QFileDialog>
#include <
QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
ui->
setupUi(this);
_pMediaPlayer = new QMediaPlayer(this);
_pMediaPlaylist = new QMediaPlaylist(_mediaPlayer);
_pMediaPlayer->
setVideoOutput(ui->
widget);
MainWindow::~MainWindow()
delete ui;
void MainWindow::on_pushButton_openPlayFile_clicked()
QString path = QFileDialog::getOpenFileName(this, "打开播放文件", ".", "所有文件(*.*)");
if(path.isEmpty())
return;
qDebug() <
<
__FILE__ <
<
__LINE__ <
<
path;
_pMediaPlaylist->
clear();
_pMediaPlaylist->
addMedia(QUrl::fromLocalFile(path));
_pMediaPlaylist->
setCurrentIndex(0);
_pMediaPlayer->
setPlaylist(_mediaPlaylist);
_pMediaPlayer->
play();
【Qt实用技巧(使用QMediaPlayer播放mp4文件)】
推荐阅读
- innobackup全备
- Python反爬,JS反爬串讲,从MAOX眼X开始,本文优先解决反爬参数 signKey
- Qt实用技巧(将QWidget作为输入窗口,接收键盘消息输入法并且控制输入法悬浮工具栏位置控制)
- 打开雨林木风XP系统无线网络服务的办法 - 雨林木风Win10系统下载官网
- 中关村XP系统无法安装.Net Framework 4.5的处理办法 - 雨林木风Win10系统下载官网
- 合并技术员联盟W10系统中的多个iexplorer.exe - 雨林木风Win10系统下载官网
- 访问网络时雨林木风XP系统提示没有权限运用网络资源的处理办法 - 雨林木风Win10系统下载官网
- 中关村XP系统连接投影仪失败的原因与处理办法 - 雨林木风Win10系统下载官网
- Win8笔记本中安装XP虚拟机后如何完成数据共享? - 雨林木风Win10系统下载官网