世界上最流行的操作系统 安卓竟然还有这些大硬伤(2)
莫名其妙的音频输出
除了在视觉上,安卓在音频方面的机制也存在硬伤。如果你用安卓机听歌,遇到渣音质的概率会大大高于iOS设备。其原因就是,安卓系统很可能会存在音频SRC的问题,这会让音质有所劣化。
SRC是什么意思呢?SRC的全称为“Sample Rate Converter”,即采样率转换。采样率是数字音频一个十分重要的参数,而不同定位的音频则有着不同的采样率——如CD的采样率一般是44.1kHz,普通视频中的音轨采样率为48kHz,高清音频的采样率能达到192kHz以上。有时候由于种种原因,无法以原本的采样率播放音频,如44.1kHz的CD不得不使用48kHz输出,这个过程就产生了SRC。
如果采样率发生非整数倍的变化,音频曲线会扭曲变形,音质受影响
如果是非整数倍的SRC,那么对音质的影响极有可能是比较明显的。例如PC早些年的AC'97音频规范中,为了节约成本,就约定俗成采用48kHz输出,44.1kHz的CD会被SRC,这也造成了电脑音质不好的口碑。现在电脑的HD Audio规范已经修正了该问题,但安卓在这方面仍不甚考究,市面上很多安卓手机都有千奇百怪的SRC问题。
例如近年某些使用高通芯片的机器,高通芯片会先把48kHz的音频SRC成为44.1kHz,然后安卓系统又把44.1kHz的音频SRC成48kHz;又例如不少安卓机连接USB声卡输出,会统一固定在某个采用率(通常是96kHz)造成SRC——现在越来越多的手机取消传统耳机孔,USB转接线其实就相当于一个小声卡,这让SRC问题愈发突出。这些问题其实是由于安卓系统不完善导致的,正确的输出方式是音源是什么采用率,系统就输出什么采样率。但原生安卓就是这么设计的,厂商想要正确输出音频,就必须要对安卓的音频输出部分进行修改。
越来越多的手机取消耳机接口,加剧了安卓SRC问题
当然,SRC到底会对音质造成多大影响,和算法也有很大关系,高品质的SRC算法对音质的劣化也不是不能接受,近几代安卓系统的SRC质量都不错。但是SRC除了影响音质,还会耗费额外的资源,更加耗电。那么遇到SRC怎么办?某些App例如海贝音乐,它可以调节安卓音频输出的采用率,规避SRC问题。如果你用的是iPhone,那就无需什么特殊动作,iOS的采用率输出一直都是挺正常的。
一些App可以设置采样率,避免安卓系统的SRC
SRC问题到底算不算安卓的硬伤?尽管它可以通过一些App解决,而且原生安卓的SRC算法质量也不错,但它仍是一个不该存在的缺点,至今仍在全局性地影响整个安卓生态,称之为硬伤并无不可。要知道,在PC上只有远古的AC'97声卡存在SRC问题,这个在业界早已经有完美解决方案的错误,在安卓上却年复一年重现。Google是否认为安卓系统只要能出声就正常、以至于不去填补音频输出方面的硬伤?我们不得而知。但从SRC的问题上,的确看不到Google的诚意。
总结:
实际上,Google对于安卓的这两个硬伤也是心知肚明的。例如在安卓0/安卓8.0中,原生安卓已经给出了初步的色彩管理方案,但仍需要App自行匹配;在安卓5.0以后,安卓的SRC算法质量也有所提高。尽管如此,Google仍未彻底解决安卓的这些硬伤,希望在今后的安卓版本中可以看到好消息吧。