标贝科技 https://ai.data-baker.com/#/?source=qwer12
填写邀请码fwwqgs,每日免费调用量还可以翻倍
一、基本原理
- 谁来发起(录音和播放)?AudioRecorder,AudioTrack。
- 谁来处理(录音和播放)? AudioFlinger!
- 怎么处理?AudioPolicyService !
- 什么是output?为了便于管理, 把一个设备上具有相同参数的一组播放device组织称为一个output。它描述一些实际支持的设备(有实际硬件)一个output对应一个处理线程thread。
二、初始化准备工作
- 从frameworks/av/media/audioserver/main_audioserver.cpp开始,系统启动后,会初始化AudioFlinger和AudioPolicyService。先初始化AudioFlinger,后面AudioPolicyService初始化的时候,会用到AudioFlinger里面的方法。
- 初始化AudioPolicyService的时候,实际上创建了一个AudioPolicyManager,主要做3件事:
a. 加载配置文件 audio_policy.conf (AudioPolicyManager完成)
<