相关笔记:Android MediaCodec简单总结_丞恤猿的博客-CSDN博客
#.音频的一些相关概念简介
0.整体介绍
声波是一种机械波,我们听到声音,是因为耳朵鼓膜接收到了声波,然后听觉神经做了相应处理。机械波有震动频率和震动幅度,对于频率和振幅恒定的声波,若以时间为x值,声波振幅为y值,则在坐标系中绘制出的会类似一条正弦函数曲线。不过现实中都是多个声源进行各种复杂的震动,最终的震动波形是很多简单正弦波形相叠加的结果。计算机中只能存储离散的数据,所能做的只是周期性的采样声波震动数据,然后播放时尽可能地还原出原来的声波效果。
1.音频采样率
每秒采集的声波样本数(网上查资料,44100应该是当前唯一能保证在所有Android设备上工作的采样率)
2.采样精度(位宽)
每个样本占用多少bit显然,采样率和采样精度越高,越能还原出原始声波效果,不过占用的空间也更多。
3.声道
每个声道中都可以存储一组从声源采样来的音频波形数据。Android中采集音频时支持单声道(AudioFormat.CHANNEL_IN_MONO)和双声道立体声(AudioFormat.CHANNEL_IN_STEREO)相关解释说明:现实中物体的震动肯定不是单点震动,而是很很多方位的多个位置无数个点一起震动,每个点都是一个音源,有自己的声音波形,无数波形重合在一起,是我们最终听到效果。如果声音的采集、存储、播放能完美还原这一过程,那无疑我听到的是"完美立体"的声音,但显然是不可能做到的。若声音采集时,真实在音源附近不同的两个位置采集两组波形,或者是模拟生成两组类似效果的波形,在播放时,让两个喇叭或者左右耳机来分别播放这两组不同波形,会有声音更立体的感觉。(与单声道相比)但两