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音频播放相关推荐

  1. 视频教程-FFmpeg打造Android万能音频播放器-Android

    FFmpeg打造Android万能音频播放器 从事Android移动端开发多年.主导开发过直播.电商.聊天等各种类型APP和游戏SDK:熟悉Android音视频开发.底层NDK开发等:有开源项目:ht ...

  2. FFmpeg学习5:多线程播放视音频

    https://www.cnblogs.com/wangguchangqing/p/5887197.html

  3. FFmpeg学习4:音频格式转换

    前段时间,在学习试用FFmpeg播放音频的时候总是有杂音,网上的很多教程是基于之前版本的FFmpeg的,而新的FFmepg3中audio增加了平面(planar)格式,而SDL播放音频是不支持平面格式 ...

  4. 【QT项目——视频播放器——音频录制】6.1QAudioFormat音频播放

    基于QT的音频录制(三个类) 6.1QAudioFormat 记录格式 setSampleRate: // 样本率 setSampleSize; // 样本大小 setChannelCount set ...

  5. 使用FFMPEG实现音频播放器

    使用FFMPEG实现音频播放器 导言 因为公司项目的原因,要学习如何使用FFMPEG进行音频播放,折腾一圈发现,使用FFMPEG还真不是一件简单的事,更为可惜的是,当年在这方面的杰出人物-雷霄骅的英逝 ...

  6. ffmpeg简单分析系列----音频(audio)

    文章目录 ffmpeg简单分析系列----音频(audio) 采样格式 通道布局(channel layout) 常用api int64_t av_get_default_channel_layout ...

  7. FFmpeg3.3.2+SDL2实现流媒体音频播放

    我的视频课程(基础):<(NDK)FFmpeg打造Android万能音频播放器> 我的视频课程(进阶):<(NDK)FFmpeg打造Android视频播放器> 我的视频课程(编 ...

  8. C++基于ffmpeg和QT开发播放器~学习笔记

    C++基于ffmpeg和QT开发播放器 B站网址 https://www.bilibili.com/video/BV1h44y1t7D8?p=2&spm_id_from=pageDriver ...

  9. FFmpeg开发XPlay2.0播放器-04 Qt音频及OpenGLShader显示YUV

    1 QT 音频 生成pcm文件: s16le 是双字节  小端对齐 使用ffplay -ar 44100 -ac 2 -f s16le -i out.pcm 命令可以播放pcm,验证pcm文件是否有问 ...

  10. Android音视频学习系列(十) — 基于FFmpeg + OpenSL ES实现音频万能播放器

    系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...

最新文章

  1. 为了杀蚊子,这位博士用树莓派DIY了一把激光枪!网友:伤到人怎么办?
  2. 自动驾驶中的9种传感器融合算法
  3. 官宣:图灵的 _____ ,只送不卖?
  4. 复地集团的现代化办公方案
  5. linux yum lamp环境,linux centos yum安装LAMP环境
  6. Java:IDEA下使用JUNIT
  7. 计算机软考可以直接高级吗,计算机软考没有中级能考高级吗
  8. 蓝盾小火墙补丁_网络安全知识小科普
  9. AVCaptureDevice的几个属性
  10. Shell 编程知识点集锦
  11. cogs2514 艺术
  12. JS学习之Object
  13. 教你如何查询对方来电!
  14. 2016版excel_【收藏转发】全套Excel自动计算表139份(回弹、土工、钢筋、集料、粉煤灰等)...
  15. 【elementui】颜色选择器
  16. Setup Time 、Hold Time、Setup check、Hold check,同步异步 及违例修复
  17. HTC Vive Pro eye 眼动数据简单获取
  18. java email bean_JavaWeb学习笔记-第四章JavaBean技术
  19. Win10的几个实用技巧系列之win10和win8系统哪个好用、系统任务栏和窗口假死的解决方法
  20. html给div加圆角边框,border-radius是向元素添加圆角边框的方法

热门文章

  1. 谈USB重定向的方式
  2. 【Arduino】基于Arduino的循迹小车电路连接与程序编写
  3. sts 工具下载与安装
  4. F2FS文件系统一 设计背景及框架结构
  5. 苹果cms内核H5网页漫画小说系统
  6. gzdeflate函数_php 压缩函数gzencode gzdeflate gzcompress
  7. Log4j.properties配置详解【log4j配置文件】
  8. 华为数通HCIP笔记
  9. 机械设计基础类毕业论文文献都有哪些?
  10. 电气技术与计算机技术结合,探析计算机与电气自动化技术有机结合.doc