对AudioService 的认识(1)

本文深入分析了Android系统中AudioService的架构与工作原理,详细介绍了从应用层到本地代码层的调用流程,包括AudioManager、AudioSystem及AudioFlinger等关键组件的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 AudioService 是一个 Java 服务,主要用于控制音频输入输出的过程,如调节音量大小,设置音量模式,设置蓝牙音频的模式,我现在具体分析和AudioService 相关的软件层。
 它主要是为向应用层提供控制音频输入输出的过程的接口。
1.Application Framework
AudioManager.java
   AudioManager 持有IAudioService 对象,IAudioService ,调用 AudioService.java 中的方法,按照Binder 服务的模式进行调用。
AudioSystem.java
   AudioService 的具体功能是通过调用 AudioSystem的方法来实现的。但是 AudioSystem 也只是向Application 提供 Audio 本地代码的功能的接口。
   AudioSystem 通过 JNI android_media_AudioSystem.cpp 调用 本地代码
android_media_AudioSystem.cpp
   这个JNI 调用 AudioSystem.cpp 中的方法
AudioService.java
   AudioService,是一个 Java 服务,通过Binder 方式,用IAudioService向AudioManager 或者 Application 提供调用接口,可以进行本进程调用,也可以进行跨进程的调用。
2.Libaries And Android Runtime
   AudioSystem.cpp
   通过 IAudioFlinger 和 IAudioPolicyService 调用  AudioFlinger 和 AudioPolicyService

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值