Android Framework源码解读 - Audio - audioserver启动流程(1)

本文介绍了Android系统中audioserver的启动流程,重点关注AudioFlinger和AudioPolicyService的创建。AudioFlinger负责与音频设备的HAL层交互,而AudioPolicyService则跟踪系统状态并管理音频策略。文章提到了Hybrid层的作用以及AudioPolicyManager如何加载配置和创建流。下篇将探讨HIDL在音频模块中的应用。

main_audioserver.cpp

源码 ./frameworks/av/media/audioserver/main_audioserver.cpp  对应进程 audioserver, 对应的启动rc文件在 /etc/init/audioserver.rc

# cat audioserver.rc 
service audioserver /system/bin/audioserver
    class main
    user audioserver
    group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct
    ......

主要就是创建3个关键Service:   AudioFlinger、 AudioPolicyService、SoundTriggerHwService(将在soundtrigger章节分解)。

这里调用的是instantiate()函数,那是因为它们都继承了BinderService这个类:./frameworks/native/libs/binder/include/binder/BinderService.h

   

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值