qt上alsa库的使用

1.wav_format

wav_format*wav    wav_format包括3个重要的结构体

1.wav_header;文件大小 chunk RIFF

2.wav_format;这个就比较重要了,数据的格式代码(“pcm”),声道数,采样频率 码率 =帧的大小乘以采样频率 帧大小 

3.wav_data; 除了wav格式头以外的数据头 

2.pcm_containter

1.snd_pcm_t *handle pcm设备操作句柄

2.一个帧内的字节数 一个周期内的帧格式 系统Buffer的帧个数 33

3.准备wav格式参数 ,给wav_format赋值

初始化音频设备以及往音频设备发送 PCM(Pulse Code Modulation)数据

对 PCM 设备操作的函数分为 PCM 设备初始化的函数以及 PCM 接口的一些操作函数。

可以理解为wav是要写入的数据格式 ,而pcm这个结构体就是你要把数据写入的硬件的相关信息,

必须设置访问类型,采样格式,采样率,声道率这些重要参数

接下来简单介绍一下给操作pcm设备的相关函数,

关键结构体  snd_pcm_hw_params_t  硬件信息配置

1.snd_pcm_open,打开相关设备

2.分配硬件参数空间,snd_pcm_hw_params_malloc( )

3.snd_pcm_hw_params_any( ) 函数用声卡的全配置空间参数初始化已经分配的 snd_pcm_hw_params_t 结构

SND_PCM_ACCESS_RW_INTERLEAVED  设置访问模式为帧连续模式

播放采样长度是 16-bit 的 PCM 立体声数据,那就有16bit的左声道,16bit的右声道。

比特率 =采样率 x 采用位数 x声道数.

4.snd_pcm_hw_params_set_format() 设置输入数据的格式,比如说大小端,(一般都是小端)

主机字节序

5.nd_pcm_hw_params_set_rate_near () ,设置最接近目标音频的采样率,

6.snd_pcm_hw_params( ),从设备配置空间选择一个设备

7.snd_pcm_prepare()  准备好 PCM 设备 

这里复习一下ssize_t write(int fd, const void *buf, size_t count); 参数: fd: 要进行写操作的文件描述词,buf->要写入的缓冲区,count写入的数据大小。

这里的Buf指向一个被分配的周期数据空间。

到这里,就基本可以完成录制音频文件。

本课程详细、全面地介绍了 Qt 开发中的各个技术细节,并且额外赠送在嵌入式端编写Qt程序的技巧。整个课程涵盖知识点非常多,知识模块囊括 Qt-Core 组件、QWidgets、多媒体、网络、绘图、数据,超过200个 C++ 类的分析和使用,学完之后将拥有 Qt 图形界面开发的非常坚实的功底。 每个知识点不仅仅会通过视频讲解清楚,并且会配以精心安排的实验和作业,用来保证学习过程中切实掌握核心技术和概念,通过实验来巩固,通过实验来检验,实验与作业的目的是发现问题,发现技术盲点,通过答疑和沟通夯实技术技能。注意:本套视频教程来源于线下的实体班级,因此视频中有少量场景对话和学生问答,对此比较介意的亲们谨慎购买。注意:本套视频教程包含大量课堂源码,包含对应每个知识点的精心编排的作业。由于CSDN官方规定在课程介绍中不能出现作者的联系方式,因此在这里无法直接给出QQ答疑号,视频中的源码、资料和作业文档链接统一在购买后从CSDN平台跟我沟通,我会及时回复跟进。注意:本套视频教程包含全套10套作业题,覆盖所有视频知识点,循序渐进,各个击破,作业总纲如下:下面是部分作业题目展示,每道题都有知识点说明,是检验学习效果的一大利器:(部分作业展示,为了防止盗图盗题对题干做了模糊处理)(部分作业展示,为了防止盗图盗题对题干做了模糊处理)(部分作业展示,为了防止盗图盗题对题干做了模糊处理)(部分作业展示,为了防止盗图盗题对题干做了模糊处理)(部分作业展示,为了防止盗图盗题对题干做了模糊处理)…… ……
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值