FFmpeg学习之QT音频播放
1. 创建工程时,添加QT的多媒体模块multimedia
2. 主要使用到的QT类:
QAudioFormat类创建输出音频格式对象,设置输出音频的样本率、样本大小、通道数、解码类型、字节序等参数;
QAudioOutput类创建音频播放设备对象;
QIODevice类创建IO操作对象;
#include <QtCore/QCoreApplication>
#include <QAudioFormat>
#include <QAudioOutput>
#include <QThread>//准备好pcm文件
//ffmpeg -i abc.mp4 -f s16le out.pcmint main(int argc, char *argv[])
{QCoreApplication a(argc, argv);QAudioFormat fmt;fmt.setSampleRate(44100);fmt.setSampleSize(16);fmt.setChannelCount(2);fmt.setCodec("audio/pcm");fmt.setByteOrder(QAudioFormat::LittleEndian);fmt.setSampleType(QAudioFormat::UnSignedInt);QAudioOutput *out = new QAudioOutput(fmt);QIODevice *io = out->start();//开始播放int size = out->periodSize();//音频输出设备写入的最小sizechar *buf = new char[size];FILE *fp = fopen("out.pcm", "rb");while (!feof(fp)){//判断音频输出设备的缓冲剩余空间是否大于单次写入大小,保证每次写入数据完全if (out->bytesFree() < size){QThread::msleep(1);continue;}int len = fread(buf, 1, size, fp);if (len <= 0) break;io->write(buf, len);//写IO}fclose(fp);fp = NULL;delete buf;buf = NULL;delete out;out = NULL;return a.exec();
}
FFmpeg学习之QT音频播放相关推荐
- 视频教程-FFmpeg打造Android万能音频播放器-Android
FFmpeg打造Android万能音频播放器 从事Android移动端开发多年.主导开发过直播.电商.聊天等各种类型APP和游戏SDK:熟悉Android音视频开发.底层NDK开发等:有开源项目:ht ...
- FFmpeg学习5:多线程播放视音频
https://www.cnblogs.com/wangguchangqing/p/5887197.html
- FFmpeg学习4:音频格式转换
前段时间,在学习试用FFmpeg播放音频的时候总是有杂音,网上的很多教程是基于之前版本的FFmpeg的,而新的FFmepg3中audio增加了平面(planar)格式,而SDL播放音频是不支持平面格式 ...
- 【QT项目——视频播放器——音频录制】6.1QAudioFormat音频播放
基于QT的音频录制(三个类) 6.1QAudioFormat 记录格式 setSampleRate: // 样本率 setSampleSize; // 样本大小 setChannelCount set ...
- 使用FFMPEG实现音频播放器
使用FFMPEG实现音频播放器 导言 因为公司项目的原因,要学习如何使用FFMPEG进行音频播放,折腾一圈发现,使用FFMPEG还真不是一件简单的事,更为可惜的是,当年在这方面的杰出人物-雷霄骅的英逝 ...
- ffmpeg简单分析系列----音频(audio)
文章目录 ffmpeg简单分析系列----音频(audio) 采样格式 通道布局(channel layout) 常用api int64_t av_get_default_channel_layout ...
- FFmpeg3.3.2+SDL2实现流媒体音频播放
我的视频课程(基础):<(NDK)FFmpeg打造Android万能音频播放器> 我的视频课程(进阶):<(NDK)FFmpeg打造Android视频播放器> 我的视频课程(编 ...
- C++基于ffmpeg和QT开发播放器~学习笔记
C++基于ffmpeg和QT开发播放器 B站网址 https://www.bilibili.com/video/BV1h44y1t7D8?p=2&spm_id_from=pageDriver ...
- FFmpeg开发XPlay2.0播放器-04 Qt音频及OpenGLShader显示YUV
1 QT 音频 生成pcm文件: s16le 是双字节 小端对齐 使用ffplay -ar 44100 -ac 2 -f s16le -i out.pcm 命令可以播放pcm,验证pcm文件是否有问 ...
- Android音视频学习系列(十) — 基于FFmpeg + OpenSL ES实现音频万能播放器
系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...
最新文章
- 为了杀蚊子,这位博士用树莓派DIY了一把激光枪!网友:伤到人怎么办?
- 自动驾驶中的9种传感器融合算法
- 官宣:图灵的 _____ ,只送不卖?
- 复地集团的现代化办公方案
- linux yum lamp环境,linux centos yum安装LAMP环境
- Java:IDEA下使用JUNIT
- 计算机软考可以直接高级吗,计算机软考没有中级能考高级吗
- 蓝盾小火墙补丁_网络安全知识小科普
- AVCaptureDevice的几个属性
- Shell 编程知识点集锦
- cogs2514 艺术
- JS学习之Object
- 教你如何查询对方来电!
- 2016版excel_【收藏转发】全套Excel自动计算表139份(回弹、土工、钢筋、集料、粉煤灰等)...
- 【elementui】颜色选择器
- Setup Time 、Hold Time、Setup check、Hold check,同步异步 及违例修复
- HTC Vive Pro eye 眼动数据简单获取
- java email bean_JavaWeb学习笔记-第四章JavaBean技术
- Win10的几个实用技巧系列之win10和win8系统哪个好用、系统任务栏和窗口假死的解决方法
- html给div加圆角边框,border-radius是向元素添加圆角边框的方法