跨不同设备从 AudioRecord 获取统一的音频电平
Getting uniform audio levels from AudioRecord across different devices
我正在尝试组装一个录音应用程序,我注意到当不同设备上的相同代码 运行 时,AudioRecord 返回的音频样本级别存在巨大差异(尝试使用 LG G4,三星 S4)。仅供参考,我的目标是 API 级别 21。
有没有办法让不同设备的返回值大致在同一个范围内?
谢谢
那是因为麦克风具有不同的灵敏度和频率响应。你可以:
- Obtain/measure 那些跨各种设备的特性并对其进行补偿。
- 使用某种校准程序。例如有一个参考扬声器,在给定的级别播放粉红噪声,计算级别并将增益调整到您想要的值。
- 使用自动增益控制。
我正在尝试组装一个录音应用程序,我注意到当不同设备上的相同代码 运行 时,AudioRecord 返回的音频样本级别存在巨大差异(尝试使用 LG G4,三星 S4)。仅供参考,我的目标是 API 级别 21。
有没有办法让不同设备的返回值大致在同一个范围内?
谢谢
那是因为麦克风具有不同的灵敏度和频率响应。你可以:
- Obtain/measure 那些跨各种设备的特性并对其进行补偿。
- 使用某种校准程序。例如有一个参考扬声器,在给定的级别播放粉红噪声,计算级别并将增益调整到您想要的值。
- 使用自动增益控制。