白话Android音频系统原理(上)(标贝科技)

本文深入探讨Android音频系统,从基本原理出发,包括初始化AudioFlinger和AudioPolicyService,详细阐述播放和录音流程,涉及AudioTrack、AudioRecord的工作机制,以及混音和数据交互过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


标贝科技 https://ai.data-baker.com/#/?source=qwer12

填写邀请码fwwqgs,每日免费调用量还可以翻倍
在这里插入图片描述
在这里插入图片描述

一、基本原理

  1. 谁来发起(录音和播放)?AudioRecorder,AudioTrack。
  2. 谁来处理(录音和播放)? AudioFlinger!
  3. 怎么处理?AudioPolicyService !
  4. 什么是output?为了便于管理, 把一个设备上具有相同参数的一组播放device组织称为一个output。它描述一些实际支持的设备(有实际硬件)一个output对应一个处理线程thread。

二、初始化准备工作

  1. 从frameworks/av/media/audioserver/main_audioserver.cpp开始,系统启动后,会初始化AudioFlinger和AudioPolicyService。先初始化AudioFlinger,后面AudioPolicyService初始化的时候,会用到AudioFlinger里面的方法。
  2. 初始化AudioPolicyService的时候,实际上创建了一个AudioPolicyManager,主要做3件事:
    a. 加载配置文件 audio_policy.conf (AudioPolicyManager完成
    b. 加载audio policy硬件抽象库(AudioFlinger完成
    c. openOutput(创建一个MixerThread线程与对应的output相关联,output对应着设备。即:将创建的线程添
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值