对于使用 VOICE_COMMUNICATION
进行捕获,Android 10 版本存在下列要求。
- 当使用
VOICE_COMMUNICATION
进行捕获时,实现应在捕获路径上提供回声消除器 (AEC)。 - 如果提供 AEC,它必须可以通过 SDK API 的
AcousticEchoCanceler
进行检测和控制。
Android 平台向 audiofx
软件包(可供开发者访问)中支持的设备提供音频效果。例如,Nexus 10 支持以下预处理效果:
与 AudioSources 配对
预处理效果与在其下请求预处理的用例模式配对。在 Android 应用开发中,用例被称为 AudioSource
实例;应用开发者请求使用 AudioSource
抽象,而不是实际的音频硬件设备。Android 音频政策管理中心根据特定于产品的规则将 AudioSource
实例映射到指定的捕获路径配置(包括设备、增益和预处理)。我们向开发者提供了以下来源:
android.media.MediaRecorder.AudioSource.CAMCORDER
android.media.MediaRecorder.AudioSource.VOICE_COMMUNICATION
android.media.MediaRecorder.AudioSource.VOICE_CALL
android.media.MediaRecorder.AudioSource.VOICE_DOWNLINK
android.media.MediaRecorder.AudioSource.VOICE_UPLINK
android.media.MediaRecorder.AudioSource.VOICE_RECOGNITION
android.media.MediaRecorder.AudioSource.MIC
android.media.MediaRecorder.AudioSource.DEFAULT
针对各个 AudioSource
实例请求的默认预处理效果在 /vendor/etc/audio_effects.xml
文件中指定。如需为各个 AudioSource
实例指定您自己的默认效果,请创建一个 /vendor/etc/audio_effects.xml
文件,并指定要开启的预处理效果。有关示例,请参阅 device/samsung/manta/audio_effects.xml
中 Nexus 10 的实现。AudioEffect
实例在创建和销毁时获取和释放会话,因此效果(如音量增强器)能够在整个会话期间持续存在。
以下示例为 VoIP AudioSource
和摄像机 AudioSource
实例启用了预处理。通过以这种方式声明 AudioSource
配置,框架会自动向 HAL 请求使用这些效果。
<preprocess> <stream type="voice_communication"> <apply effect="aec"/> <apply effect="ns"/> </stream> <stream type="camcorder"> <apply effect="agc"/> </stream> </preprocess>
来源调谐
AudioSource
调谐对音频增益或音频处理没有明确的要求,但语音识别 (VOICE_RECOGNITION
) 除外。语音识别的要求包括:
- 100 Hz 至 4 kHz 范围内的平坦频率响应 (+/- 3 dB)
- 近距离通话配置:90 dB SPL 读取值为 2500 的 RMS(16 位样本)
- 在 -18 dB 至 +12 dB 范围内相对于 90 dB SPL 的呈线性的电平轨道
- THD < 1%(100 Hz 至 4000 Hz 范围内的 90 dB SPL)
- 近超声要求(有关测试,请参阅近超声测试):
- 支持 CDD 中第 7.8.3 节中定义的
SUPPORT_PROPERTY_MIC_NEAR_ULTRASOUND
。 - 支持 44100 或 48000 采样率中的一个,或者两者都支持(无带通或抗混叠滤波器的情况下)。
- 支持 CDD 中第 7.8.3 节中定义的
- 效果/预处理默认处于停用状态
关于调谐不同来源的不同效果,示例如下:
- 噪音抑制器
- 调谐
CAMCORDER
的风噪抑制器 - 调谐
VOICE_COMMUNICATION
的静态噪音抑制器
- 调谐
- 自动增益控制
- 调谐
VOICE_COMMUNICATION
和手机主麦克风的近距离通话 - 调谐
CAMCORDER
的远距离通话
- 调谐
资源
有关详情,请参阅以下资源:
- audiofx 软件包的相关 Android 文档
- 噪音抑制音频效果的相关 Android 文档
- Pixel 3 的
/device/google/crosshatch/audio_effects.xml
文件