在Android音频框架下,AudioFlinger调用底层Audio设备是通过audio_policy_configuration.xml配置文件来执行策略的,官方文档:
https://source.android.com/docs/core/audio/implement-policy?hl=zh-cn
这个文件一般存在于 /system/etc下,有些设备是在 /vendor/etc下
所以想要屏蔽USB Audio,只需要在这个文件里找到usb_audio_policy_configuration.xml的配置,并注释掉即可,如下图
这样所有的USB Audio都不会进入HAL层的音频策略中,修改后重启系统即可生效