1.前言
在项目开发中,在某些时候的需求中,要求在来电的时候,要求蓝牙耳机和扬声器同时发声,这就要分析下怎么来电的时候同时让耳机和喇叭出声
2.来电铃声蓝牙耳机和扬声器同时出声的核心类
vendor/mediatek/proprietary/hardware/audio/common/V3/aud_drv/AudioALSAPlaybackHandlerNormal.cpp device/mediatek/mt6739/audio_device.xml vendor/mediatek/proprietary/hardware/audio/common/V3/aud_drv/AudioALSAPlaybackHandlerNormal.cpp3.来电铃声蓝牙耳机和扬声器同时出声的核心功能分析和实现
Engine.cpp 的作用
它是
AudioPolicyManager(音频策略管理器)的"决策引擎",负责音频路由策略中最核心的三件事:策略映射、设备选择、音量计算。如果说
AudioService 是"总调度大脑",Engine.cpp 就是"路由决策的执行大脑"——AudioPolicyManager
只负责执行和交互,真正的"选哪个设备、走哪条通路、音量按哪条曲线算"是 Engine 说了算。
核心职责
1. 音频流 → 策略(Strategy)映射
- Android 的流类型(STREAM_MUSIC、STREAM