Audio 相关代码分析
一、Audio系统综述 Audio系统主要分成如下几个层次: (1)media库提供的Audio系统的上层接口; (2)AudioFlinger作为Audio系统的中间层; (3)Audio的硬件抽象层提供底层支持; (4)Audio接口通过JNI和Java框架提供给上层。 Audio系统的各个层次接口主要提供了两方面功能:放音(Track)和录音(Recorder)。 在Android的Audio系统中,无论上层还是下层,都使用一个管理类和输出输入两个类来表示整个Audio 系统,输出输入两个类负责数据通道。 二、Audio框架分析 1、Audio的Java部分 代码路径:frameworks/base/media/java/android/media 与Audio相关的Java包是android.media,主要包含AudioManager和Audio系统的几个类。 2、Audio的JNI部分 代码路径:frameworks/base/core/jni 生成库libandroid_runtime.so,Audio的JNI是其中的一个部分。 3、Audio的框架部分 头文件路径:frameworks/base/include/media/ 源代码路径:frameworks/base/media/libmedia/ Audio本地框架是media库的一部分