资源简介
基于FFmpegQt的视频播放器完整源码.rar
代码片段和文件信息
#include “FFVideoPlyer.h“
#include
#include
#include
#include
#include “MyFFmpeg.h“
#include “MyAudio.h“
using namespace std;
//全局静态变量只在该cpp文件中有效
static bool isPressSlider = false;
FFVideoPlyer::FFVideoPlyer(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
startTimer(40);
ui.curTime->setText(“00:00:00“);
ui.totalTime->setText(“00:00:00“);
connect(ui.btn_OpenVideo SIGNAL(clicked()) this SLOT(slotOpenFile()));
connect(ui.btn_Play SIGNAL(clicked()) this SLOT(slotPlay()));
connect(ui.timeSlider SIGNAL(sliderPressed()) this SLOT(sliderPressed()));
connect(ui.timeSlider SIGNAL(sliderReleased()) this SLOT(sliderReleased()));
}
void FFVideoPlyer::slotOpenFile()
{
QString fname = QFileDialog::getOpenFileName(this QString::fromLocal8Bit(“打开视频文件“));
if (fname.isEmpty())
{
return;
}
ui.lineEdit_VideoName->setText(fname);
int totalMs = MyFFmpeg::GetObj()->OpenVideo(fname.toLocal8Bit());
MyAudio::GetObj()->sampleRate = MyFFmpeg::GetObj()->m_sampleRate;
MyAudio::GetObj()->channel = MyFFmpeg::GetObj()->m_channel;
MyAudio::GetObj()->sampleSize = 16;
MyAudio::GetObj()->Start(); //播放音频
char buf[1024] = { 0 };
int min = (totalMs / 1000) / 60;
int sec = (totalMs / 1000) % 60;
sprintf(buf “%03d:%02d“ min sec);
this->ui.totalTime->setText(buf);
MyFFmpeg::GetObj()->m_isPlay = true;
ui.btn_Play->setText(QString::fromLocal8Bit(“暂停“));
}
void FFVideoPlyer::slotPlay()
{
if (ui.btn_Play->text() == QString::fromLocal8Bit(“暂停“))
{
MyFFmpeg::GetObj()->m_isPlay = false; //线程阻塞,视频暂停
ui.btn_Play->setText(QString::fromLocal8Bit(“播放“));
}
else
{
MyFFmpeg::GetObj()->m_isPlay = true; //线程运行,视频播放
ui.btn_Play->setText(QString::fromLocal8Bit(“暂停“));
}
}
void FFVideoPlyer::timerEvent(QTimerEvent *e)
{
int min = (MyFFmpeg::GetObj()->m_pts / 1000) / 60;
int sec = (MyFFmpeg::GetObj()->m_pts / 1000) % 60;
char buf[1024] = { 0 };
sprintf(buf “%03d:%02d“ min sec);
ui.curTime->setText(buf); //当前播放时间
if (MyFFmpeg::GetObj()->m_totalMs > 0)
{
float rate = MyFFmpeg::GetObj()->m_pts / (float(MyFFmpeg::GetObj()->m_totalMs));
//只有按下了,才才显示进度条
if (!isPressSlider)
{
this->ui.timeSlider->setValue(rate * 1000); //进度条
}
}
}
void FFVideoPlyer::sliderPressed()
{
isPressSlider = true;
}
void FFVideoPlyer::sliderReleased()
{
isPressSlider = false;
float pos = 0;
pos = this->ui.timeSlider->value() / (float)(ui.timeSlider->maximum() + 1); //从0开始的,不能让分母为0
MyFFmpeg::GetObj()->Seek(pos);
}
void FFVideoPlyer::mousePressEvent(QMouseEvent *e)
{
int value = ((float)(e->pos().x()) / (float)(this->width())) * (ui.timeSlider->maximum() + 1);
ui.timeSlider->setValue(value);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
..A..H. 80384 2019-01-14 15:11 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\.vs\FFVideoPlyer\v14\.suo
文件 2977 2019-01-14 14:33 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.Build.CppClean.log
文件 2853 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.log
文件 252806 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.obj
文件 15638 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.tlog\CL.command.1.tlog
文件 323518 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.tlog\CL.read.1.tlog
文件 5820 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.tlog\CL.write.1.tlog
文件 160 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.tlog\FFVideoPlyer.lastbuildstate
文件 1550 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.tlog\FFVideoPlyer.write.1u.tlog
文件 3268 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.tlog\li
文件 6712 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.tlog\li
文件 1610 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.tlog\li
文件 346 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.tlog\QtMoc.read.1u.tlog
文件 858 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.tlog\QtMoc.write.1u.tlog
文件 120 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.tlog\QtRcc.read.1u.tlog
文件 278 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.tlog\QtRcc.write.1u.tlog
文件 118 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.tlog\QtUic.read.1u.tlog
文件 270 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\FFVideoPlyer.tlog\QtUic.write.1u.tlog
文件 105588 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\main.obj
文件 109835 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\moc_FFVideoPlyer.obj
文件 48891 2019-01-14 14:34 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\moc_PlayThread.obj
文件 71651 2019-01-14 14:33 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\moc_VideoViewWidget.obj
文件 75567 2019-01-14 14:33 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\MyAudio.obj
文件 25621 2019-01-14 14:33 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\MyFFmpeg.obj
文件 220440 2019-01-14 14:33 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\PlayThread.obj
文件 5563 2019-01-14 14:33 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\qrc_FFVideoPlyer.obj
文件 2011 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\qt.log
文件 681 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\qt.txt
文件 2215936 2019-01-14 14:53 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\vc140.pdb
文件 93623 2019-01-14 14:33 基于FFmpeg Qt的视频播放器完整源码\FFVideoPlyer\FFVideoPlyer\Debug\VideoViewWidget.obj
............此处省略181个文件信息
相关资源
- Tiger.zip
- iso虚拟定位驱动12.4.rar
- 微分几何-彭家贵.pdf163758
- CGUIQt4编程第二版.rar
- 智慧农场小程序1.4.3开源.zip
- TEAcode.rar
- 20170602174228540.zip
- community.zip
- Office2010Toolkit.rar
- 高速电路设计实践280页27.2M高清书签版
- 深蓝学院的slam课件PPT.zip
- 数字集成电路与嵌入式内核系统可测
- HWDemo.rar
- 模式识别张学工第三版高清PDF.zip
- 大话数据结构高清版+带目录+程序源码
- 地理探测器GeoDetector_2015_Example(Dise
- 锁相环(PLL)电路设计与应用.pdf
- SecureCRT7.3.7和SecureFX7.3.7破解版64位支持
- ROBOTINTERFACE_code.rar
- 网路岗8.01.50特制777用户破解文件.ra
- tiger_newhu.zip
- hctwifi_UTF8_1.2.zip
- 爱奇异qsv转MP4工具.zip
- AI面相手相3.1.3源版.zip
- PMP考试资料第6版-中文.rar
- ssh汽车销售系统.rar
- 码科速送同城跑腿2.2.0.zip
- Day5_NOI.zip
- 迪恩女神模特_套图.rar
- ROMVIP制作工具断网不要升级.rar
评论
共有 条评论