Audio
文章平均质量分 86
超开心~
Android Framework攻城狮
展开
-
音频基础知识集合
采样率(采样频率)即每秒内进行采样的次数。单位是Hz。采样率越高,数字波形的形状就越接近原始模拟波形,声音的还原就越真实。如44100HZ, 48000HZ等。原创 2024-07-31 11:15:07 · 540 阅读 · 0 评论 -
Android音频子系统分析-音频流区分处理
这类需求如果在手机平台上实现,会比较复杂,修改的内容也会比较多。手机由于只有一个主扬声器,所以不管是什么类型的声音都从一个地方出来,也不需要这样处理。如果是在车机平台,Android已经考虑到这种情况,只需要修改配置及少量的代码就可以实现。原创 2024-07-19 17:44:16 · 376 阅读 · 0 评论 -
Android音频子系统分析-car_audio_configuration.xml
先附上一个例子,再逐一解释。概括来说,该文件描述了车里有哪些区域,每个区域划分了多少组,每个组包含了哪些设备,每个设备接收哪些类型的音频流。原创 2024-07-16 15:17:38 · 316 阅读 · 0 评论 -
Android音频子系统-耳机插拔
带着以下几个问题,我们着手分析:Android系统在播放音乐的时候,如果插入耳机,系统会发生什么变化?会产生哪些逻辑?音频是如何从扬声器切换到耳机的?插入3.5mm的耳机孔和usb耳机又有什么不同?原创 2024-07-10 14:33:20 · 1591 阅读 · 0 评论 -
Android音频子系统分析-音量设置
调节音量大小,通常有两种方式:1. 通过硬件调节:放大电流。2. 通过软件调节:调整pcm振幅。这里主要说一下通过软件调节音量的流程,基于Android12。我们知道音频流是通过AudioFlinger处理并输出的,那软件调节的音量设置信息肯定需要传递到AudioFlinger中。Android中调节音量可以通过直接设置音量值的方式,也可以通过音量键进行逐步调节。原创 2024-07-08 11:15:26 · 784 阅读 · 0 评论 -
Android音频子系统分析-audio_policy_configuration.xml
先附上一个高通的例子,再解释内容。原创 2024-07-05 14:13:39 · 1031 阅读 · 0 评论 -
Android13音频子系统分析-整体架构
目录一、应用API层二、Java框架层三、Native核心层3.1 AudioFlinger模块3.2 AudioPolicyService模块四、HAL层 本文基于AOSP13源码进行分析解读。所以与各个SoC平台厂商提供的运行在真实设备上的源码会有细微差异,但核心原理区别不大。 音频子系统在Android中是一个较为复杂的子系统,横跨应用API层,框架层,Native层和HAL层。使用Java、C++、C语言进行编写。运行在Linux用户空间的转载 2024-06-26 18:13:05 · 390 阅读 · 0 评论