Android 13 通过修改 AOSP 禁用扬声器
需要深入修改音频系统的路由策略和硬件抽象层。以下是具体实现方案:
核心实现路径
修改音频路由策略(AudioPolicyManager)
控制音频硬件输出(Audio HAL)
强制静音系统音量(AudioService)
方案一:禁用扬声器路由策略
修改文件:
frameworks/av/services/audiopolicy/managerdefault/AudioPolicyManager.cpp
代码修改:
// 在 getDevicesForStrategy() 中移除扬声器设备
DeviceVector getDevicesForStrategy(...) {
DeviceVector devices;
switch (strategy) {
case STRATEGY_MEDIA:
case STRATEGY_SONIFICATION:
case STRATEGY_ACCESSIBILITY:
// 原代码:devices.add(mAvailableOutputDevices.getDevicesFro