Android 音频架构

Android 音频架构定义了音频功能的实现方式,并指出实现中所涉及的相关源代码。
Android 音频架构_第1张图片

  • 应用框架
    应用框架包含应用代码,该代码可使用 android.media API 与音频硬件进行交互。在内部,此代码会调用相应的 JNI 粘合类,以访问与音频硬件交互的原生代码。
    源代码目录:frameworks/base/media/java/android/media/
  • AudioManager:音频管理器,包括音量管理、AudioFocus管理、音频设备管理、模式管理;
  • 录音:AudioRecord、MediaRecorder,采集音频数据;
  • 播放:AudioTrack、MedaiPlayer、SoundPool、ToneGenerator,播放数据api;
  • 编解码:MediaCodec,音视频数据 编解码接口。
  • JNI
    与 android.media 关联的 JNI 代码可调用较低级别的原生代码,以访问音频硬件。JNI 位于 frameworks/base/core/jni/ 和 frameworks/base/media/jni 中。
  • Native framework 原生框架
    原生框架可提供相当于 android.media 软件包的原生软件包,从而调用 Binder IPC 代理以访问媒体服务器的特定于音频的服务。原生框架代码位于 frameworks/av/media/libmedia 或frameworks/av/media/libaudioclient中(不同

你可能感兴趣的:(Android,音频,Android音频,音频架构)