发布于 2015-07-29 11:34:01
不同平台的音频HAL可能有所不同,在某些情况下也可能针对不同的原始设备制造商(我曾在索尼从事音频HAL和框架的工作,我们进行了一些定制,使路由与早期产品一致,并添加了索尼自己的音频效果等等)。
无论如何,音频HAL通常包括一个策略管理器,它根据当前的用例(语音呼叫、音乐播放、通知回放)、附加的附件等做出高级别的路由决策。在我所使用的音频策略管理器的所有实现中,都有一个执行此选择的getDeviceForStrategy方法。该方法的这里有一个实现,您可能会在一些基于高通的设备上找到这种方法(可能有一些自定义)。
请注意,在策略管理器中添加一个新的AUDIO_DEVICE_OUT_常量并在某些条件下选择它对您没有任何好处。您还必须在HAL中进行其他更改,以便将新设备映射到一组参数,从而在硬件级别启用适当的声音路径。有关创建其他声音路径的更多信息,请参见我早些时候的回答。
https://stackoverflow.com/questions/31681794
复制相似问题