美文网首页
Android Audio系统笔记

Android Audio系统笔记

作者: DD_Dog | 来源:发表于2020-04-28 15:03 被阅读0次

    一、Audio框架

    APP层:

    音乐播放器,视频播放器。
    播放器一般使用MediaPlayer,MediaRecorder来进行播放和录音,MediaPlayer可以将音频文件进行解码,得到pcm流,然后使用AudioTrack进行播放。MediaRecorder是类似相反的过程。

    framework Java层

    AudioTrack —— 播放pcm流
    AudioRecorder —— 录音pcm流
    AudioManager , AudioSystem, AudioEffect 实现音量控制、音频通路策略、音效设置等

    framework Native层

    AudioTrack —— 播放pcm流
    AudioRecorder —— 录音pam流
    AudioEffect —— 音效处理
    AudioPolicyService —— 音频策略管理,音量管理,音效设置
    AudioFlinger —— 音频播放,录音,混音,音效处理

    Hal层:

    向上对接AudioFlinger,向下通过读写声卡card0节点,调用kernel驱动控制硬件,实现对音频流数据的播放与录音实现。

    ALSA框架

    可以参考:ALSA驱动分析
    可以参考:tinyalsa工具使用

    整体从下到上涉及知识点

    硬件电路知识,audio播放录音原理,i2s、TDM协议,codec功能(功放芯片)
    linux驱动知识,ALSA框架
    c语言,audio Hal层接口功能
    c++语言,audio framework如何实现音频流的播放与采集,音频通路的策略管理,音效处理,音量调节等
    binder机制在audio系统中的作用
    java语言,AudioTrack与AudioRecorder如何使用去播放,录音。AudioManager , AudioSystem, AudioEffect 如何实现音量控制、音频通路策略控制、音效设置、参数传递等

    参考

    Android系统Audio框架介绍(一)

    android音频系统(4):AudioService之音量管理

    相关文章

      网友评论

          本文标题:Android Audio系统笔记

          本文链接:https://www.haomeiwen.com/subject/lsgvwhtx.html