![](https://img-blog.csdnimg.cn/20190918140158853.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android Audio系统
文章平均质量分 74
介绍Android音频相关内容,包含应用层到HAL层,主要基于Android P进行剖析。
Mr.Biandan
要做一头快乐的Android攻城狮 \(^o^)/ !ZZZZZ(Android系统-音视频-开发工程师 )
展开
-
Android 9 Audio系统笔记:AudioFlinger音频流处理流程
好久没写了,今天碰巧有个同事问我,我就顺便写一下,后面就不用又找一遍代码了,所谓好记性不如烂笔头。这块是关于如何从AudioTrack 写入数据到audioflinger,以及audioflinger如何写入到hal层,主要写一下流程。client写入数据://frameworks\av\media\libaudioclient\AudioTrack.cppssize_t AudioTrack::write(const void* buffer, size_t userSize, bool bloc原创 2022-04-27 18:47:07 · 5221 阅读 · 0 评论 -
Android 10 Audio系统:REMOTE_SUBMIX 实现原理
Android10 Audio系统:REMOTE_SUBMIX 实现原理前言什么是REMOTE_SUBMIX怎么使用REMOTE_SUBMIX如何实现的创建REMOTE_SUBMIX类型的 input输入设备创建output设备如何通过output设备采集到数据小结前言由于业务需求,需要对Android设备的音频输出进行采集,同时还需要保持Android本身设备的输出。Android原生是无法实现的,因为使用了REMOTE_SUBMIX 之后,Android本身喇叭输出会停止,所以需要对音频系统进行一定原创 2021-06-26 23:50:51 · 7878 阅读 · 10 评论 -
Android 9 Audio系统笔记:声音焦点AudioFocusRequest说明
前言最近发现很多小伙伴对于申请声音焦点时传入的AUDIOFOCUS_GAIN参数很迷惑,于是乎觉得有必要写一篇来说明一下。申请声音焦点示例//1、创建声音焦点 requestBuilderAudioAttributes.Builder attributesBuilder = new AudioAttributes.Builder();attributesBuilder.setUsage(AudioAttributes.USAGE_ALARM) // 语音识别类型.setContentType(A原创 2020-12-19 18:27:30 · 6857 阅读 · 4 评论 -
Android 9 Audio系统笔记:Audio系统架构
Android 9 Audio系统笔记:音量调节从AudioManager到AudioMixer原创 2020-12-17 11:27:01 · 1867 阅读 · 1 评论 -
Android 9 Audio系统笔记:AudioRecord
AudioRecord前言AudioTrack第一部分:AudioRecord创建8.1 native_setup8.1.4 set8.1.4.4 创建IAudioRecord对象 createRecord_l调用AudioSystem::getInputForAttr获取输入流的句柄input8.1.4.4.3.1 AudioPolicyService::getInputForAttr8.1.4.4.3.1.2 AudioPolicyManager::getInputForAttrB.1 调用getDev原创 2020-10-04 00:37:29 · 3666 阅读 · 4 评论 -
Android 5.1 Audio系统笔记:AudioRecord
AudioRecord前言AudioTrack第一部分:AudioRecord创建8.1 native_setup8.1.4 set8.1.4.4 创建IAudioRecord对象 openRecord_l8.1.4.4.3 getInputForAttr8.1.4.4.3.1 AudioPolicyService::getInputForAttr8.1.4.4.3.1.2 AudioPolicyManager::getInputForAttr8.1.4.4.3.1.2.1.调用getDeviceAndMi原创 2020-10-02 23:43:21 · 643 阅读 · 0 评论 -
Android 9 Audio系统笔记:音频路由实现——从AudioTrack到audiohal
这里写目录标题一、动态路由的初始化1、获取路由策略2、向AudioPolicyManager注册路由策略二、动态路由的路由流程,以AudioTrack创建为例[上一篇介绍了AudioFlinger的初始化](https://blog.csdn.net/biandan1231/article/details/105718091),接下来对音频路由进行介绍。注意,本文主要介绍动态路由,即汽车音频路由的常规方式。针对Android原生路由策略不做深入分析。什么是音频路由?如何实现音频路由?如何定制音频路由?这原创 2020-05-09 21:56:25 · 9416 阅读 · 4 评论 -
Android 9 Audio系统笔记:AudioPolicy&AudioFlinger初始化
AudioPolicy&AudioFlinger初始化初始化概览总体框架启动步骤AudioPolicy初始化分析1、loadConfig()2、initialize()初始化概览总体框架AudioFlinger和AudioPolicy两者是Android Audio框架层最主要的两个服务,他们两个是Android框架层的本地服务,在init.rc中启动;AudioPolicyMan...原创 2020-04-23 23:58:12 · 5348 阅读 · 1 评论 -
Android 9 Audio系统笔记:音量调节从CarAudioManager到tinyalsa
目录从CarAudioService到tinyalsa瞎扯正文功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入从Car...原创 2020-03-15 23:53:02 · 7954 阅读 · 6 评论