深度剖析Android音频系统解析与改进

深度剖析Android音频系统解析与改进

ID:43918725

大小:63.05 KB

页数:5页

时间:2019-10-16

深度剖析Android音频系统解析与改进_第1页
深度剖析Android音频系统解析与改进_第2页
深度剖析Android音频系统解析与改进_第3页
深度剖析Android音频系统解析与改进_第4页
深度剖析Android音频系统解析与改进_第5页
资源描述:

《深度剖析Android音频系统解析与改进》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、深度剖析Android音频系统解析与改进Android音频系统的改进设想和展望:拥有Beatsn效的HTCOneX当然无需担心其咅质,目前Tegra3最高端的机器就是已经升级至HTCSense4.0华丽界面和Android4.0.3ICS系统的四核旗舰HTCOneX!需要购港行HTCOneX的朋友可以去52htc.net看看,他们能提供全新不拆封原包装保证正品,并支持免费ROOT升级刷机服务。在这里先说明,木人并没冇仔细地去看Android和PulseAudio的咅频具体源代码和实现,欢迎指正。从硕件用料上看,Android能不能做好音质?答案当然是可以的!MOTO

2、的手机音质就做得不错。另外,W700也还可以(输出电平小了点,导致指标不好看)。从软件和系统上看?答案是N0。高延迟,劣质SRC,这些玩意只能毁了咅乐和音频应用。简单地说‘Android是用了一个Google占己开发的中间层API來讣APP和声音驱动(ALSA或者IIAL封闭驱动)通信的。在早期,它是个ALSA的插件;现在则命名为AudioFlingero无论是什么方式,实际上APP是以访问中间层API的方式让自己发出声音的,而这个API,却成/Android整个音频系统的鹅梦。噩梦一:SRC实际上个人觉得最不可思议的是,AudioElinger为什么要做强制SRC

3、?要知道,ALSA是支持破件SRC的(早期ALSA标准APT木身却不支持,这个设计也是超级傻,具体表现在如果你在Linux下使用某个使用早期ALSAAPI的音乐播放器,播放和硬件釆样率不匹配的音频档案,就会报错,同时期的PulseAudioAPI反而支持),可实际±Android4.0后ALSA己经是最新的版本了。现在的Linux通过ALSA驱动做硬件SRC也不会是太大问题,当然音质比较一般(和当于高通,全志等芯片组在44.lKHz音源下的音质)就是了。可是,八udioFlinger为什么白身耍做一个强制重采样行为呢?个人预计,实际上AudioFlinger只是An

4、droid早期音频系统API接口的继承和扩展,它遗留T太多由于早期ALSA的不足而提供的“临时解决方案”,Androidl.X的时候,ALSA相对现在也是非常的糟糕,google不得己写了个SSRC插件來解决当时ALSA不支持非匹配采样率无法发声的问题。至于Google为什么现在不解决,答案很明显:原来的代码都是临时的无证程序员写的,Android有个叫屮子播放器的软件就能提供相对高质量的SSRC,google没道理写不出來。但是那样对于现在版木的ALSA能力來说简直是多余的行为,还会导致声咅延时和性能损失。噩梦二:系统资源占用和延迟这两个为什么放到一•起说?因为,

5、高延迟意味着系统K)动作多。Google"聪明”地做了一套soundfx系统,给所有音频做预处理,比如频响均衡器(EQ),重采样后对高频进行衰减等,这些接口为开发第三方咅频应川提供了方便,却导致Android的咅频性能出现了极大地负载和延迟,特别是游戏应用。Android的音频接口有两个,一个是用來播放音乐,这个接口提供了较大的缓冲,延迟也比较大:另一个则是用来做实时事件音效的处理(比如乐器声,效果音等等),将声音读入高速缓存(只能缓存10秒左右),然后进行处理。Google标榜这个为“低延迟”,可实际上因为API对咅频做了大量的预处理,导致就算开发人员使用高速缓存

6、接口,出了触屏感应处理外,音频也会有180ms以上的延迟,所以一些所谓的乐器演奏软件或者音乐游戏,基本就是Android劣势的彻底体现,这样的问题也导致Android无法进行音频处理应用。PulseAudio简介Collabora是一个开源系统解决方案的开发商,对于个人川户是免费开源的(对厂商似乎要收费,所以,Android开发厂商对此没兴趣掏钱)。PulseAudio是和AudioFlinger一样的音频系统API,PulseAudio并不完美,但是并不会有AudioFlinger的那两个致命问题。而且,HPwebOS、N900/Maemo5>N9/MeeGo都采

7、用TPulseAudio作为系统音频API。PulseAudio能解决的问题:1、不会强制重采样,而是交由驱动來解决,避免了AudioFlinger极度劣质的SSRC。2、不做预处理,极人减少音频延迟和系统开销(高速缓存处理延迟可以降低至20ms,虽然并不算很好,但是对于移动装置和平板来说已经足够)。这看起来很美,不是么?可是为什么没有厂商积极面对呢?实际上,更换Android的咅频系统,远远不像换衣服那么简单!授权移植费用虽然PulseAudio是开源软件,但开源不等于免费,PulseAudio很可能是针对企业收费的。这里会导致一个两头难的问题:人厂商不掏钱就

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。