前言
这里主要简单总结一下Android 9 的Audio系统架构。
Audio系统架构
主要包含FW_Java部分,FW_Native部分和AudioHal部分。
FW_Java
FW_Java:主要包含AudioService、CarAudioService部分,以及AudioManager、AudioTrack、AudioRecord部分。这些主要是提供音频焦点处理、汽车音频控制的服务,以及对应用提供音频控制等相关接口。
FW_Natvie
FW_Natvie:主要包含AudioPolicyManager、AudioFlinger、AudioSystem等。这些主要提供对音频策略、音频路由等的控制和实现。
AudioHal
AudioHal:主要包含audio_hw,AudioControl等。向上提供统一接口以便提供给FW_Native调用,AudioHal主要实现对驱动层的控制和功能调用。
简单说明:图中的fun为引用调用,比如回调之类的调用,binder则为binder方式调用,而HIDL则是Android HIDL方式进行的调用。
字少事大,๑乛◡乛๑
完。