简介1.QtAV是基于Qt和FFmpeg的多媒体播放库。 有助于用前所未有的精力写播放器。
本博客也是看前辈的代码写的参考代码比我详细得多
另一方面,前期准备工作依赖QTAV的源代码和库下载QTAV源代码: Github如果有QTAV的源代码,自己下载即可
下载QT AV官方提供的已编译依赖库: QTAV依赖库
编译并下载QTAV源代码的依赖关系库include位于QT目录文件夹下的include中
库中的lib依赖于位于QT目录文件夹下的lib
和从属库中ddb目录所在的目录
开始编译QTAV源代码
右键单击编译的release的sdk_install.bat时,将在QT目录下生成
二、QTAV播放器的Pro文件包含av构件和必要的头文件
1.GUI UI的设计因人而异,我先从这里拿出一个我的UI设计,当然我参考了上面篇幅前辈的UI
我认为UI性质的东西不需要太多说明
2 .视频img包含头文件
#包含
#包含
以及Using namespace QtAV;
继承视频输出类并重写boolreceiveframe (一致视频框架);
重写接收帧时,每次播放每一帧时都会返回一个图像
这个步骤只是为了拍摄截图的时候等而存储图像
3.QtavPlayer #include
#包含
以及Using namespace QtAV;
保存几个Qtav的类对象
音频卷OBJimg是我们刚刚继承的视频输出
接下来,需要初始化QtAV
到此为止,QtavPlayer的简单初步已经完成
当然,UI上的许多功能都需要在QtavPlayer类中执行一些功能操作
4 .功能的一些补充和完善是QTAV已经封装了很多功能,基本上我们可以使用
1 .打开文件
打开文档后的保留期
打开文件时将触发视听播放器的启动信号
我们进行信号连接后,将duration设置为自己进度条的
文件视听播放器开始播放时触发位置更改的信号
进行信号连接后,更新时刻PS:(xx.xx.xx/xx.xx.xx ) )
2 .快进/快退功能
QTAV已经封装
快点调用seekBackward快进调用seekForward就可以了。 _
3 .播放暂停
ture false控制播放和暂停
4 .再生
语音序列(qint 64 pos; //ms. same as setPosition(pos
跳到0.0
5 .跳到左帧和右帧
可以从当前进度条的值中减去一帧的时间,或者将一帧的时间相加
6 .控制时间倍率
语音集速度(qrealspeed;
2倍速还是3倍速可以通过Speed进行调整
7 .旋转屏幕
定向需要旋转的度数
8 .截图
将视频img刚刚取得的img
剪下来保存就可以了
9 .鼠标对准某个进度条时提前浏览
当事件过滤器悬停鼠标时,此功能只需为播放器创建另一个小窗口
将鼠标悬停时你改写的播放器小窗口Seek放入鼠标悬停位置的值中
之后,暂时停止显示即可
10 .单击ui暂停开始时间
重写事件MouseButtonPress并单击相关播放暂停的信号
11 .声音大小
简单地连接进度条进行时间控制就好了
1-2 .播放rtmp视频流
这个步骤主要使用play播放麻烦的只有旁边的列表。 使用table view/table构件或listview/list构件双击时将Url发送到QtavPlayer即可
三.简单易用的玩家总结完成
have a good time
如果没有源代码的积分下载,你可以用私人信件发