Android音频开发
音频
采集一般使用AudioRecod
或者MediaRecord
- 音频采集的来源是什么?
MediaRecorder.AudioSource.MIC
一般是麦克风
- 采样率(单位:赫兹)
每秒钟音频采样点个数(8000/44100Hz),模拟信号数字化的过程,用0101来表示的数字信号
- 声道
AudioFormat.CHANNEL_IN_MONO 单声道,一个声道进行采样
AudioFormat.CHANNEL_IN_STEREO 双声道,两个声道进行采样
- 音频采样精度
指定采样的数据的格式和每次采样的大小。
数据返回格式为 PCM
格式
每次采样的位宽为 16bit
一般都采用这个 AudioFormat.ENCODING_PCM_16BIT(官方文档表示,该采样精度保证所有设备都支持
)
- 比特率
每秒传送的比特(bit)数。单位为 bps(Bit Per Second),比特率越高,传送数据速度越快。
采样率x采样大小x声道数
每秒钟采样的大小=16bit(位宽) * 2(双通道) * 44100(每次采样的次数hz) = 1411200b=1411.2kbps
比特率越大表示单位时间内采样的数据越多,传输的数据量越大。
- 常见的音频编码方式有哪些?
模拟音频信号
转换为数字信号
需要经过采样
和量化
,量化
的过程被称之为编码
,根据不同的量化策略,产生了许多不同的编码方式
,常见的编码方式有:PCM
和ADPCM
,这些数据代表着无损
的原始数字音频信号
,添加一些文件头信息
,就可以存储为WAV
文件了,它是一种由微软和IBM联合开发的用于音频数字存储的标准,可以很容易地被解析和播放。
我们在音频开发过程中,会经常涉及到WAV文件的读写,以验证采集、传输、接收的音频数据的正确性
。
- 常见的音频压缩格式有哪些?
因为有冗余信号
,所以可以压缩。
频谱掩蔽效应
: 人耳所能察觉的声音信号的频率范围为20Hz~20KHz
,在这个频率范围以外的音频信号属于冗余信号
。
时域掩蔽效应
: 当强音信号和弱音信号同时出现时,弱信号会听不到,因此,弱音信号也属于冗余信号。
下面简单列出常见的音频压缩格式:
MP3,AAC,OGG,WMA,Opus,FLAC,APE,m4a,AMR,等等