对AudioService 的认识(1)

 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

 

你可能感兴趣的:(对AudioService 的认识(1))