- 博客(4)
- 收藏
- 关注
原创 Android13音频子系统分析(四)---座舱的多音区框架
Google在Android核心系统的基础上,为车机系统扩展了一套针对智能座舱场景下的多音区框架,多音区是指在汽车中,不同的用户可以单独使用多媒体功能。比如:司机可以在驾驶舱中播放音乐,后排的乘客可以用耳机连上后座显示屏,观看视频,互相独立不受干扰。在介绍多音区框架之前,需要先简单介绍一下AAOS(Android Automotive)架构。
2023-10-28 17:10:44
4065
6
原创 Android13音频子系统分析(三)---音效算法集成框架
Android的音效架构中,将所有的音效算法全部挂载到AudioHAL进程中运行。根据音效算法应用的位置,可以分为三类:Track音效、Stream音效、Device音效。即:针对某一个Track的处理音效、针对某种StreamType的处理音效、针对某个Device的处理音效。在中我们已经看到,Track只是在APP层和AudioServer框架层中的概念,到了AudioHAL层已经没有Track的概念,只有Stream和Device。
2023-10-13 23:48:44
4145
原创 Android13音频子系统分析(二)---初始化
本文我会分别介绍AudioFlinger、AudioPolicyService和AudioService这三个模块的初始化过程。AudioHAL进程的核心源码AOSP里面没有,所以这里不做介绍。想了解AudioHAL进程的启动流程,可以从/hardware/interfaces/audio/common/all-versions/default/service/service.cpp文件的main()函数入手,进行分析。
2023-09-20 18:44:29
3292
7
原创 Android13音频子系统分析(一)---整体架构
本文基于AOSP13源码进行分析解读。所以与各个SoC平台厂商提供的运行在真实设备上的源码会有细微差异,但核心原理区别不大。音频子系统在Android中是一个较为复杂的子系统,横跨应用API层,框架层,Native层和HAL层。使用Java、C++、C语言进行编写。运行在Linux用户空间的4个进程中:APP应用进程(API层的代码)、SystemServer进程(框架层的代码)、AudioServer进程(Native层的代码)、AudioHAL进程(HAL层的代码)。
2023-09-14 16:34:52
7522
15
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人