QT进阶日记004

多媒体

一、项目加

QT +=...... multimedia multimediaWidgets

二、创建一个QWidget项目

三、布局一个界面

添加一个显示视频的容器Widget容器到界面来。playWindow

添加播放,暂停,结束,快近,快退,等按钮QPushButton

btnPlay,btnPause,btnEnd,btnFront,btnBack等命名

添加一个进度条QSlider当播放进度条,添加一个当音量条。

sliPlay,sliSound

添加一个标签QLabel,显示总时间长/当前位置时间,laVol

这样的话,界面元素基本上就够了。

四、写代码

1、引用

#include<QMediaPlayer>//播放器类

#include<QMediaDevices>//多媒体设备

#include<QAudioOutput>//音频输出设备

#include<QvideoWidget>//视频输出窗口

在H文件里定义一个

QMediaPlayer * m_play;

在cpp里的初始化

在构造函数里就行了

MyPlayer :: MyPlayer(QWidget * parent):QWidget(parent),ui(new Ui :: Widget),m_play(new QMediaPlayer(this))

{

ui->setupUi(this);

//设置播放来源

m_play->setSource(QUrl("文件/地/址/file.mp3"));//有mp3,mp4

连接看看错误状态等信号

connect(m_player,&QMediaPlayer :: errorOccureed,this,=(QMediaPlayer :: Error error,const QString $str){

qDebug()<<str;

});

//关联信号,得到时长变化

connect(m_player,&QMediaPlayer :: durationChanged,this,\[\](qint64 duration){

当改变时长时,触发这个处理过程,该时间是毫秒单位。

ui->laVol->setText(QString ("%1:%2:%3").arg(duration/1000/60/60,2,10,QChar('0')).arg(duration/1000/60,2,10,QChar('0')).arg(duration/1000%60,2,10,QChar('0'));

});

//设定音频输出设备

m_play->setAudiaOutput(new QAudioOutput(this));

//视频输出设备

QVideoWidget wg=new QVideoWidget(this);

包装一个层

QHBoxlayout * lay=new QHBoxLayout(ui->playWindow);

lay->addWidget(wg);

m_play->setVideoOutput(wg);

m_play->play();

}

MyPlayer :: ~MyPlayer()

{

delete ui;

}

相关推荐
weixin_4604435621 分钟前
2026年新修订《网络安全法》实施:Java私有化考试系统如何做好SBOM、漏洞治理与安全升级?
java·开发语言·在线考试系统·企业培训考试系统·宏远培训考试系统·国企培训考试系统·国产化培训系统
Cc.Y4 小时前
Java零基础入门:可变字符串与包装类:StringBuilder、StringBuffer 与 通讯录管理系统实战
java·开发语言·python
阿森_dev4 小时前
2027 届毕设选题怎么选:30 个 Java 方向选题的实现难度排序
java·开发语言·spring boot·毕业设计·课程设计
by209994 小时前
C++ 多态:同一个基类接口,调用不同的函数
开发语言·c++·经验分享·多态
笔墨登场说说4 小时前
flink bin/start-cluster.sh 帮我做成开机启动
开发语言·python
Sarvartha4 小时前
Lambda 表达式和函数式接口
java·开发语言
bug和崩溃我都要4 小时前
QT 开发的专业截图录屏工具 - macOS版 / Windows版
windows·qt·mac·录屏·截屏
小白学大数据4 小时前
拼多多反爬对抗实战:Scrapy 中间件化采集架构解析
开发语言·scrapy·中间件·架构
学逆向的5 小时前
win32注入代码
开发语言·网络安全·api·win32
Sarvartha5 小时前
内部类知识
java·开发语言