android audio系统简析——后续待填充

本文深入剖析Android Audio系统,包括启动过程(从audioserver启动到AudioFlinger与AudioPolicyService初始化),AudioTrack播放流程,以及音量设置的详细步骤。AudioFlinger负责播放、混音和音效,AudioPolicyService管理设备状态和音量控制。AudioPolicyManager根据audio_policy.conf配置文件初始化音频设备。AudioTrack通过IAudioTrack与AudioFlinger交互,完成数据处理、混音和输出到HAL层。音量设置涉及AudioPolicyManager和AudioSystem的交互,转换为db值并调用setStreamVolume操作。
摘要由CSDN通过智能技术生成

知识点
Android audio启动过程
AudioTrack播放

Android audio启动过程

启动入口:audioserver启动
frameworks/av/media/audioserver/audioserver.rc
执行main_audioserver.cpp
AudioFlinger作用:负责对接Hal层,实现播放,混音,音效处理等功能操作
AudioPolicyService作用:管理输入输出设备状态,音频播放策略,音量控制,向Hal层设置参数

AudioFlinger 与AudioPolicyService初始化
audioflinger的初始化(几乎什么实质的操作都没有)
frameworks/av/services/audioflinger/AudioFlinger.cpp

AudioPolicyService初始化
AudioPolicyService::AudioPolicyService() //什么也没做
void AudioPolicyService::onFirstRef()
创建了三个AudioCommandThread线程(分别用于播放tone音,执行audio命令,执行输出命令)
创建了三个类mAudioPolicyClient, mAudioPolicyManager(策略管理), mAudioPolicyEffects(音效设置)三个类

AudioPolicyManager初始化

  1. 加载audio_policy.conf配置文
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值