知识点
Android audio启动过程
AudioTrack播放
Android audio启动过程
启动入口:audioserver启动
frameworks/av/media/audioserver/audioserver.rc
执行main_audioserver.cpp
AudioFlinger作用:负责对接Hal层,实现播放,混音,音效处理等功能操作
AudioPolicyService作用:管理输入输出设备状态,音频播放策略,音量控制,向Hal层设置参数
AudioFlinger 与AudioPolicyService初始化
audioflinger的初始化(几乎什么实质的操作都没有)
frameworks/av/services/audioflinger/AudioFlinger.cpp
AudioPolicyService初始化
AudioPolicyService::AudioPolicyService() //什么也没做
void AudioPolicyService::onFirstRef()
创建了三个AudioCommandThread线程(分别用于播放tone音,执行audio命令,执行输出命令)
创建了三个类mAudioPolicyClient, mAudioPolicyManager(策略管理), mAudioPolicyEffects(音效设置)三个类
AudioPolicyManager初始化
- 加载audio_policy.conf配置文