UID23054
威望88
金钱657935
交易诚信度58
主题265
帖子28800
注册时间2001-11-21
最后登录2026-3-1
超级会员
     
交易诚信度58
注册时间2001-11-21
|
马上注册 家电论坛,众多有奖活动等你来参与!
您需要 登录 才可以下载或查看,没有账号?注册
x
Android 基于Linux,我们先来了解一下Linux的特点。Linux使用ALSA作为其音频架构,其全称Advanced Linux Sound Architecture,即高级Linux声音架构的意思,在2.6核心之后,ALSA成为了Linux系统默认的音频子架构。取代了之前的OSS[Open Sound System,开放式声音系统]。
ALSA并不太好理解,它首先是一个驱动库,包含了大量的声卡设备的开源驱动,并提供了核心层API与ALSA库通信,而ALSA库则是应用程序访问和操控音频硬件的中间层,这个中间层有标准接口,开发者可以无须考虑硬件差异性进行开发,它对提升开发效率是大有帮助的。ALSA可以向下兼容OSS,因为OSS已经被淘汰,其兼容的工作模式不再讨论。
这个体系被继承到了Android当中。在Android2.2[含2,2]之前,系统文件夹中能找到一个LibAudioALSA.so的文件,这就是ALSA库文件,其他应用程序调用它,与声卡设备进行指令和数据通信。Android音频架构与Linux的并无本质区别。
在桌面版本的Linux当中,为了兼容各类声卡,Linux也设置了一个SRC[Sample Rate Converter,采样频率转换]的环节,当当前采样率低于48kHz时强制SRC到48kHz输出。这个SRC环节位于ALSA的插件模块中的混音器部分。Android针对这个进行了改进。
什么是SRC?SRC即Sample Rate Converter,中文意思为采样频率转换。它被声卡爱好者所关注,大部分发烧友视SRC为音质杀手。
Android增加了一个AudioFinger,这个可以简单的理解为Android的ALSA音频子系统的标准化的插件模块,它包含了AudioMixer[混音器]、AudioResampler[重采样]等子模块,AudioResampler即我们理解的SRC,Android换了一个新名称而已。针对SRC,Android做了改进,但改进并不是以去除SRC为目的,而是修改了默认的输出频率,Android的SRC目标采样率为44.1kHz,非该值的采样率都将SRC处理。例如播放48kHz采样率的信号,输出的最终是44.1kHz,这对音质将产生负面影响。
ALSA是一个针对Linux 桌面版本设计的音频架构,它实际上是不适合智能终端设备的,起码里面大量的开源驱动代码是可以去除的,对与Android来说,这些都是废代码。从Android2.3起,启用了一个新的音频架构。它放弃了一直使用的ALSA架构,因此系统文件夹中,也不再有LibAudioALSA.so这个文件。
Android2.3起,架构已经做了修改,在针对内部代码进行了优化,去除了冗余代码,理论上让系统能变得更加高效,可以将新架构理解为一个精简的或者为智能终端设备定制的ALSA架构。遗憾的是,它同样存在SRC严重劣化的问题,通过测试可以证明。
Android 3.0专门为平板电脑设计,影音体验变得更加重要了,是不是新系统在音质方面会有新的的进步呢,测试结果依然是令人失望的。
|
|