QMediaPlayer和QVideoWidget是Qt中用于播放视频的两个组件。在Linux下使用这两个组件播放视频,需要先安装相应的依赖库。
- 安装Qt的multimedia组件
在Ubuntu下可以通过以下命令安装:
sudo apt-get install qtmultimedia5-dev
- 安装GStreamer库
GStreamer是一个开源的多媒体框架,提供了音频和视频的编解码、流媒体传输等功能。在Ubuntu下可以通过以下命令安装:
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
- 编写代码
在Qt项目中添加QMediaPlayer和QVideoWidget,然后在代码中设置视频文件路径并将QVideoWidget设置为QMediaPlayer的输出窗口即可开始播放视频。
示例代码如下:
#include <QtWidgets>
#include <QtMultimedia>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QWidget window;
window.setWindowTitle("Video Player");
QVBoxLayout *layout = new QVBoxLayout(&window);
QMediaPlayer *player = new QMediaPlayer();
QVideoWidget *videoWidget = new QVideoWidget();
player->setVideoOutput(videoWidget);
layout->addWidget(videoWidget);
QPushButton *playButton = new QPushButton("Play");
layout->addWidget(playButton);
QObject::connect(playButton, &QPushButton::clicked, [=](){
QString filePath = QFileDialog::getOpenFileName(&window, "Open Video File", QDir::homePath(), "Video Files (*.mp4 *.avi)");
if (!filePath.isEmpty()) {
player->setMedia(QUrl::fromLocalFile(filePath));
player->play();
}
});
window.show();
return app.exec();
}
- 编译运行
使用Qt Creator打开项目,编译并运行即可。在弹出的对话框中选择视频文件,点击播放按钮即可开始播放视频。