重点了解内容:
以上三个最好使用Demo形式明确其数据流流动形式。
总通信方式大致如下:
Android音频系统的核心
是Audio系统
与Audio相关的包是android.media
生成libandroid_runtime.so
Media库中的一部分,直接被编译成libmedia.so文件,提供了Audio部分接口。包括基于Binder的IPC机制
被编译成 libaudioflinger.so,Audio的本地服务部分
作为Audio系统本地框架层和驱动程序接口
libmedia.so文件其中一part,为上层提供接口,由下层去实现
继承libmedia接口,提供实现库libaudioflinger.so
使用JNI和Java对上层提供接口,JNI通过libmedia库中接口进行实现
提供硬件接口,供AudioFlinger进行调用。
注:
Audio系统不涉及编解码环节,只负责软硬件间交互的作用,所以通常以PCM进行数据传输。
原文:https://www.cnblogs.com/johnnytan/p/13363367.html