安卓15 audio新专题发布:安卓系统手机车机音频audio子系统深入实战开发专题

发布于:2025-09-03 ⋅ 阅读:(15) ⋅ 点赞:(0)

背景:

使用任何android设备(如手机,车机等)一般都会以下几个最重要部分:画面显示、喇叭播放声音、输入事件交互。

前面课程一些课程已经对画面显示相关的wms/sf,输入事件交互input等,分别进行深入的剖析,那么还剩下最后一个喇叭播放声音部分,那么今天就给大家准备了一个针对声音部分的深入实战专题:
安卓音频框架Audio子系统实战专题
在这里插入图片描述
那学了这个专题就业前景怎么样?是否有相关岗位,岗位要求又是什么?
前景及岗位情况:
这个其实马哥这边经常都会收到一些粉丝和学员的询问,马哥是否有音频相关的课程,发现找工作时候除了framework的wms,ams,SurfaceFlinger,input等外,音频相关的岗位也挺多的。

其实这个现象也说明了音频系统开发这个岗位找工作是没问题的,其实本质就是这块的音频系统人才比较少,用人需求在大安卓系统开发范畴中可能仅仅比framework的wms,ams,SurfaceFlinger,input这些少,所以大家不需要担心学了这个音频系统开发会因为没有岗位找不到工作哈。

岗位前景这块的话,这个audio系统模块属于人才比较缺乏的状态,而且这个模块一般就业后很稳定,可以技术栈也是比较深,可以继续audio驱动开发等,所以不需要太担心失业或者是年龄其歧视。

岗位要求如下:
一些公司招聘岗位要求
在这里插入图片描述在这里插入图片描述
音频工程师技术栈方向
在这里插入图片描述

课程特色及适合人群

课程环境及设备:
1、aosp版本android-15.0.0_r3
2、安卓模拟器+lineage对应实体手机或者pixel刷一个aosp15版本
课时数量:
基础部分 30+课时
进阶部分 50+课时
预计80+课时,每个课时平均半小时
因为平台审核较慢,首发上传35课时,后续每天陆续更新上传

特色:

手把手带你从0开始学音频子系统的开发,主要核心思路还是:先学习音频系统框架理论知识,熟悉了音频框架系统后,再进行音频框架相关的一些实战项目,即音频源码理论的学习都是为了最后进行项目实战。

从简单的基础专题开始学习,以最熟悉的声音播放为主线对整个涉及的音频框架系统进行挨个模块剖析,这里面涉及App层面,AudioFlinger,AudioPolicy等模块,都会带你进行详细剖析,而且还对较难的音频hal部分也进行了深入讲解,同时也会讲解音频实战开发中,经常使用的dumpsys命令及命令输出相关源码及代表意义。学习基础后,学员们基本上就对整个audio框架系统有了一个较为深入的认识,具备音频系统开发工作能力。

基础学习完成后,接下来就是学习进阶实战部分。进阶部分主要讲解了一些比较难理解的模块,比如audiomixer部分,r_submix应用到hal部分的深入剖析,音量曲线部分,学习了这些知识后,接下来就开始几个特色的实战项目开发:多app同时录音项目,音量曲线修改及参考大厂调节,多屏场景实现声音的分离项目。

适合人群:
有基本的android app或者c++,framework基础知识,或者其他平台的开发经验

课程特色:

1、降低学习音频难度,以简单案例音频播放为引导,手把手带你剖析出音频播放涉及音频框架相关模块,这样学习让你容易入门,整理音频框架流程主线思路明确。

2、公司真实调试分析音频问题方法,以实际工作经常用的一些调试手段,分析问题方法为重点,让你学习音频时候不是仅仅停留在源码分析,而是实实在在公司项目问题分析手段,还会让你结合dump推动你自行分析相关模块。

3、公司级别的项目实战为主导,让你学习的音频系统的源码分析理论知识可以直接用于实现公司级别的项目需求,真实带你手把手实现项目需求,包括方案预言,调研其他厂商,方案设计,代码实现等。

4、全面的音频框架知识覆盖,几乎把音频框架工程师平时工作中负责的主要模块知识都进行了深入剖析,这样学习后在工作中完全可以胜任音频框架子系统开发相关工作。

课程详细课表:

在这里插入图片描述

基础部分课表

audio课程介绍部分
audio整体框架和代码位置讲解-1
audio整体框架和代码位置讲解-2
音频部分基础知识讲解-1
音频部分基础知识讲解-2
AudioTrack播放pcm之java端源码实战
AudioTrack播放pcm之native端源码实战
AudioTrack源码分析之构造部分
AudioTrack源码分析值set部分
AudioTrack源码分析之audioflinger部分
Strategy与Volume部分剖析-1
Strategy与Volume部分剖析-2
getOutputForAttribute源码分析
AudioTrack值共享内存创建剖析
AudioTrack值共享内存使用proxy剖析-1
AudioTrack值共享内存使用proxy剖析-2
AudioTrack值共享内存使用proxy总结
AudioTrack启动播放源码分析-1
AudioTrack启动播放源码分析-2
AudioTrack播放整个流程总结部分
primary的hal剖析之相关so文件剖析
primary的hal剖析加载moudle源码分析-1
primary的hal剖析加载moudle源码分析-2
primary的hal剖析加载moudle源码分析-3
primary的hal剖析相关流程和涉及类总结
primary的hal剖析之数据写入部分-1
primary的hal剖析之数据写入部分-2
AudioPolicy部分源码剖析-1
AudioPolicy部分源码剖析-2
AudioPolicy部分源码剖析-3
AudioPolicy部分源码剖析-4
audiopolicy剖析之xml转对象部分
音频调试Tee sink部分
Audio dumpsys相关分析

进阶部分课表

r_submix源码分析之start部分
r_submix的hal部分源码分析-1
r_submix的hal部分源码分析-2
r_submix的hal部分源码分析-3
AudioMixer源码分析部分-1
AudioMixer源码分析部分-2
AudioMixer源码分析部分-3
AudioMixer源码分析部分-4
setparameter讲解即实战使用-1
setparameter讲解即实战使用-2
音量调节AudioService部分的源码分析
音量调节audiopolicy部分的源码分析
音量调节index转dB转ampl核心公式分析
音量条件之AudioFlinger部分分析-1
音量条件之AudioFlinger部分分析-2
音量曲线修改实战项目-1
音量曲线修改之参考某大厂曲线
讲解多app录音的需求背景
调研正常目前多app录音的dump情况
录音源码分析之app部分
录音源码分析之AudioFlinger部分
录音源码分析之start录音部分
使用perffeto梳理录音流程
多app录音实现及成果展示
vscode如何debug native相关进程
音频分离项目背景场景介绍
音频分离项目r-submix部分调研
音轨分离项目之确定设计方案讲解
实战让内录喇叭出声即Duplicate线程dump查看
补充讲解DuplicatingThread源码原理分析-1
补充讲解DuplicatingThread源码原理分析-2
音频分离项目实战1
音频分离项目实战2
音频分离项目实战3
音频分离项目实战4

进阶待补充部分

FastMixer部分
r_submix内录的低延时提升性能方案
音频耳机设备插拔
设备切换后track情况分析实战
audiofocus部分
audio问题相关分析
车载相关的audio预言调研探索等

课程模块图片花絮:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
原文地址参考:https://mp.weixin.qq.com/s/pQr-HrW0EUoi5QHTMOGEBQ

更多audio框架相关干货,请关注下面“千里马学框架”


网站公告

今日签到

点亮在社区的每一天
去签到