Android录音采样率限制问题

1.定义:
 每秒从连续信号中提取并组成离散信号的采样个数,单位用赫兹(Hz)来表示.采样频率的倒数是采样周
期(也称为采样时间),它表示采样之间的时间间隔.

 即采样值或取样值(就是将采样样本幅度量化).它是用来衡量声音波动变化的一个参数,也可以说是声
卡的分辨率.它的数值越大,分辨率也就越高,所发出声音的能力越强.

每个采样数据记录的是振幅, 采样精度取决于采样位数的大小:
1 字节(也就是8bit) 只能记录 256 个数, 也就是只能将振幅划分成 256 个等级;
2 字节(也就是16bit) 可以细到 65536 个数, 这已是 CD 标准了;
4 字节(也就是32bit) 能把振幅细分到 4294967296 个等级, 没必要,数据量太大.


2.Android音频采样率
Android录音AudioRecord的参数有一个是采样率,经过验证USB的UAC协议录音采样率是96000,如果
codec的PCM IN没有支持96000的话,可能会报-22(参数设置错误),需要在Android端修改采样
率.
注意:Android7.1上USB耳机的播放和录音的采样率是96000, 不过usb codec不支持,需要在Android端修改采样率为:44100、48000等等都可以.

3.44100Hz是一个通用的值,保证在所有设备上可以工作。但还是需要底层对此支持才可以,只是一个
推荐的通用值,对设备的兼容性最好。
下图为AudioReocrd采样率的API参数说明:

Android录音采样率限制问题_第1张图片

你可能感兴趣的:(USB,Audio)