1.音频系统架构图
音频系统架构 音频系统架构2.音频系统的层次
音频系统架构 音频系统架构2.Media库中的Audio框架
音频系统架构在libmedia库中提供的只是一个Audio系统框架,其中,类AudioSystem、AudioTrack和AudioRecord分别调用下层的接口IAudioFlinger、IAudioTrack和IAudioRecord实现。另外一个接口是IAudioFingerClient,作为向IAudioFlinger中注册的监听器,相当于使用回调函数获取IAudioFlinger运行时的信息。
3.AudioFinger
音频系统架构 音频系统架构通过文件AudioMixer.*实现了一个Audio系统混音器,它被AudioFinger调用,一般用于在声音输出之前的处理,提供多通道处理、声音缩放、重采样。AudioMixer调用了AudioResampler。
4.Audio系统的HAL层
要想实现一个Android的Audio HAL层,需要实现AudioHardwareInterface、AudioStreamOut和AudioStreamIn这三个类,分别实现总控、输出和输入功能,并将代码编译成库libaudio.*.so。AudioFinger会连接这个库,并调用其中的createAudioHardware()函数来获取接口。
文件AudioHardwareInterface.h中定义三个类:
音频系统架构 音频系统架构
网友评论