QT学习之音频操作(入门)


对于音频编程的基本概念不熟悉的可以去参考我的另一篇博文:音频的一些基本概念

因为录取到的数据是arw格式原始数据,是不能直接播放的,因此需要编程来实现播放


1、创建一个qt工程

我这里创建的是继承于MainWindow窗口类的工程,然后在工程文件.pro中添加multimedia模块,这是qt中对音频操作所需的音频模块
在这里插入图片描述



2、添加所需头文件

添加好工程所需模块后,就可以添加对应头文件

录入音频数据所需的头文件
#include <QAudioInput> 

输出音频数据进行播放所需的头文件
#include <QAudioOutput> 

设置音频对象格式所需的头文件
#include <QAudioFormat>


3、相关函数

下面的函数是用于初始化音频操作对象对音频操作时的数据,主要调用QAudioFormat类进行定义初始化音频对象的格式,然后在创建QAudioInput/QAudioOutput对象时把初始化数据传递进去对音频对象进行初始化

以下所有函数为QAudioFormat类中的成员函数

3.1.设置字节顺序

字节序分为LittleEndian(低位优先)/LargeEndian(高位优先)
注意:需要录音与播放的字节序必须一致

setByteOrder(QAudioFormat::LittleEndian);//设置端字节序:小端字节序

3.2.设置通道数

通道分为单声道(平声道)与双声道(立体声:包括左右声道)
mono(平声道)的声道数目是1stero(立体声)的声道数目是2

setChannelCount(2);//两通道

3.3.设置编码器

一般使用"audio/pcm"编码器,因为在所有的平台上都支持,
也就相当于音频格式的WAV,以线性方式无压缩的记录捕捉到的数据。
如想使用其他编码格式 ,可以通过QAudioDeviceInfo::supportedCodecs()获取所支持的编码器

setCodec("audio/pcm");//设置编码器

3.4.设置采样频率

采样率是每秒钟对声音的采样次数,越大当然越精细,
常用的即为44100HZ(标准CD级)

setSampleRate(44100);//采样率44100

3.5.设置样本长度

样本长度(量化深度)SampleSize主要使用8/16bit,样本长度越长声音质量越好
若使用8bit采集数据则该采样点有2^8 = 256种量化值(即0-255)
若使用16bit采集数据则该采样点有2^16 = 65536种量化值(64k)

setSampleSize(16);//样本长度设置16

3.6.样本数据类型

采样数据类型有:
为QAudioFormat::SignedInt	
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值