当前位置:   article > 正文

Android Audio开发——AudioPolicyService加载流程(六)_audioservice的生命周期

audioservice的生命周期

        AudioPolicyService 是策略的制定者,比如什么时候打开音频接口设备、某种 Stream 类型的音频对应什么设备等等。而 AudioFlinger 则是策略的执行者,例如具体如何与音频设备通信,如何维护现有系统中的音频设备,以及多个音频流的混音如何处理等等都得由它来完成。

        AudioPolicyService 根据用户配置来指导 AudioFlinger 加载设备接口,起到路由功能。在 Android Audio 系统中主要完成以下几个任务:

1)管理输入输出设备,包括设备的连接、断开状态,设备的选择和切换等

2)管理系统的音频策略,比如通话时播放音乐、或者播放音乐时来电话的一系列处理

3)管理系统的音量

4)上层的一些音频参数也可以通过AudioPolicyService设置到底层去

一、初始化

        AudioPolicyService 生命周期关联的三个函数, 构造函数 AudioPolicyService、onFirstRef 和初始化有关, 析构函数 ~AudioPolicyService 和销毁有关。

源码位置:/frameworks/av/services/audiopolicy/service/AudioPolicyService.cpp

1、构造函数

  1. AudioPolicyService::AudioPolicyService()
  2. : BnAudioPolicyService(), // 定义在IAudioPolicyService.h中, 作为Binder调用的Bn端
  3. mAudioPolicyManager(NULL), //
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/499775
推荐阅读
相关标签
  

闽ICP备14008679号