- Android板级支持与硬件相关子系统
- 韩超等
- 7字
- 2020-08-28 12:21:34
第7章 音频系统
7.1 音频系统概述
Android的音频系统提供音频系统对音频硬件的设备进行操作,其主要功能是音频数据的输入/输出和控制功能。
音频系统对应的硬件包括耳机、扬声器、麦克风等。处理器中的音频控制器是软件系统直接操作的内容。Linux中音频设备有标准的驱动框架,Android也可以使用其他类型的驱动程序。音频的硬件抽象层使用C++类继承的方式,包括音频设备的输入/输出和控制,也包括音频设备的策略管理部分。
音频系统的本地部分有media库中定义的框架,由AudioFlinger实现,它提供的本地层接口提供本地的媒体播放器等程序进行调用。音频系统也通过JNI向Java层次提供相应的接口,Java层音频接口基本上对本地层接口的封装。
音频系统的相关内容如表7-1所示。
表7-1 音频系统的相关内容
音频系统的层次较多,但各个层次都是三个方面的内容:音频数据流输入、音频数据流输出和音频的控制。音频数据流主要是PCM格式的音频原始数据,控制方面则包括通道的选择。Java层通常只是进行控制方面的操作,数据流的操作大都通过本地接口进行。