随笔分类 -  Audio系统

Android系统的PCM数据流(外部输入和播放输出)传输和控制,以及音频设备的管理和设置。
摘要:摘要:Android提供了一套音效处理的库,包括有BassBoost重低音,Equalizer均衡器,Virtualizer虚拟器,PresetReverb预置混响,EnvirenmentReverb环境音混响,Visaulizer可视化,downmix,preprocess(AGC(增益) AEC(回声消除) NS(噪声抑制))等。本文介绍音效库是如何从底层获取数据和为上层提供处理好的数据。 一、如何加载库和创建音效 以上这些音效分别封装在libbundlewrapper.so,libreverbwrapper.so,libvisualizer.so,libdownmix.so,li... 阅读全文
posted @ 2012-10-08 17:46 cerberspace 阅读(3158) 评论(2) 推荐(0)
摘要:摘要:本文介绍了android音量的控制曲线的计算方法。 由于人耳对声音的听感具指数曲线型,也就是对小音量时比较敏感,随着声音的加大其听感随之变的不敏感,其变化近似指数函数曲线的形式。为了使听感变的近似直线的变化,人们在实践中就采用了音量变化近似对数式曲线型的电位器来实现这个目的。对比法产生音量控制曲线与最终扬声器输出的声压有关,当然您也可以根据扬声器的输出功率来进行比对,但功率终究不如电压来的方便。音量调节框的UI滑动条的刻度是线性的,这样就给我们生成音量控制曲线打下了很好的对比基础。下面我们就来通过一个音量调节的场景来分析Android是如何控制音量的。 首先,我们按音量调节键使得... 阅读全文
posted @ 2012-09-27 19:07 cerberspace 阅读(6176) 评论(6) 推荐(2)
摘要:摘要:Audio系统负责Android中的PCM数据的录制输入流和播放输出流的传输和控制,以及音频设备的管理和设置。这里主要介绍播放和录制环节在各个层次的内容,整个结构层次分明,包括了java接口层,JNI层,本地框架层,audio服务层,硬件抽象层等5层。它的结构图如下 图1-1 Audio系统结构 一、java接口层 AudioManager:音频管理对外的接口,提供了音量和ringtone模式的管理,由getSystemService(Context.AUDIO_SER... 阅读全文
posted @ 2012-09-27 16:40 cerberspace 阅读(1520) 评论(0) 推荐(0)