.pro中
QT += multimedia
QT += multimediawidgets
常用类:
#include <QVideoWidget>
#include <QMediaPlayer>
#include <QMediaPlaylist>
具体使用:
QMediaPlayer *m_pQMediaPlayer;
QVideoWidget *m_pQVideoWidget;
QMediaPlaylist *m_pQMediaPlaylist;virtual void paintEvent(QPaintEvent *) override;
m_pQMediaPlayer= new QMediaPlayer();
m_pQVideoWidget->setAspectRatioMode(Qt::IgnoreAspectRatio); // 说实话这句话感觉没用 加载多个时
// m_pQMediaPlaylist= new QMediaPlaylist(m_pQMediaPlayer);
// m_pQMediaPlaylist->addMedia(QUrl("http://example.com/myclip1.mp4"));
// m_pQMediaPlaylist->addMedia(QUrl("http://example.com/myclip2.mp4"));
// m_pQMediaPlaylist->setCurrentIndex(1);// 加载单个时
m_pQMediaPlayer->setMedia(QUrl("http://example.com/myclip1.mp4"));m_pQVideoWidget= new QVideoWidget;
m_pQMediaPlayer->setVideoOutput(m_pQVideoWidget);m_pQMediaPlayer->play();void paintEvent(QPaintEvent *)
{// 不显示的情况下可能需要重置大小m_pQVideoWidget->resize(ui->widget->size());
}
Linux下需要注意:
需要先安装依赖库:
// 以下为Qt控件依赖库
sudo apt-get install qtmultimedia5-dev
sudo apt-get install libqt5multimedia5-plugins// 以下为H.264解码器(解码视频文件)
sudo apt-get install libdvdnav4 libdvdread4 gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly libdvd-pkg
sudo apt-get install ubuntu-restricted-extras
Windows下需要注意:
需要安装 LAVFilters
网上下载资源很多,可以自己搜一个下载或者用 https://download.csdn.net/download/bloke_come/20490841