Audio
文章平均质量分 86
sevedk
这个作者很懒,什么都没留下…
展开
-
Android Audio System 之三: AudioPolicyService 和 AudioPolicyManager
引言 AudioPolicyService是Android音频系统的两大服务之一,另一个服务是AudioFlinger,这两大服务都在系统启动时有MediaSever加载,加载的代码位于:frameworks/base/media/mediaserver/main_mediaserver.cpp。AudioFlinger主要负责管理音频数据处理以及和硬件抽象层相关的工作。本文主要介绍Au转载 2015-01-04 11:47:35 · 563 阅读 · 0 评论 -
Android Audio System 之二:AudioFlinger
引言 AudioFlinger是Android音频系统的两大服务之一,另一个服务是AudioPolicyService,这两大服务都在系统启动时有MediaSever加载,加载的代码位于:frameworks/base/media/mediaserver/main_mediaserver.cpp。AudioPolicyService的相关内容请参考另一编文章:《Android Audi转载 2015-01-04 11:46:00 · 479 阅读 · 0 评论 -
Android Audio System 之一:AudioTrack如何与AudioFlinger交换音频数据
引子Android Framework的音频子系统中,每一个音频流对应着一个AudioTrack类的一个实例,每个AudioTrack会在创建时注册到AudioFlinger中,由AudioFlinger把所有的AudioTrack进行混合(Mixer),然后输送到AudioHardware中进行播放,目前Android的Froyo版本设定了同时最多可以创建32个音频流,也就是说,Mixe转载 2015-01-04 11:44:35 · 609 阅读 · 0 评论 -
Android Audio System线性音量和对数音量的转换
Android的音频系统的代码中,应用程序对每个音频流的音量做出调整后,最终会转换为一个系数K,所有的音频数据在输出到硬件之前,都要乘以系数K,只要应用程序发出调整音量的调用,中间层的Audio System就会重新计算系数K的值。对应用程序来说,音量控制通常都是按照线性进行调整的,比如对于具有15级音量的音频流来说,我们预期每级的音量变化都是相当的,也就是说:从第5级调到第6级,和从第7级调到第转载 2015-01-04 11:14:44 · 458 阅读 · 0 评论 -
WAVE头分析代码
这篇文章是网络上流行的比较广泛的针对WAVE头分析的文章,整体写的简单明了非常好,但是18H2int采样率(每秒样本数),表示每个通道的播放速度,应该是不对的,如果按这个该文章的计算,WAVE头只有42byte,实际上wave头是44byte.参考MS的标准文档知道这个采样率是占4byte的.(见WAVE转载 2014-05-14 18:17:48 · 584 阅读 · 0 评论 -
Android Wi-Fi Display(Miracast)介绍
Android Wi-Fi Display(Miracast)介绍2012年11月中旬,Google发布了Android 4.2。虽然它和Android 4.1同属Jelly Bean系列,但却添加了很多新的功能。其中,在显示部分,Android 4.2在Project Butter基础上再接再厉,新增了对Wi-Fi Display功能的支持。由此也导致整个显示架构发生了较大的变化。转载 2013-10-14 18:53:19 · 960 阅读 · 0 评论 -
AAC ADTS LATM 格式分析
一、ADTS格式:ADTS的全称是Audio Data Transport Stream。是AAC音频的传输流格式。AAC音频格式在MPEG-2(ISO-13318-7 2003)中有定义。AAC后来又被采用到MPEG-4标准中。1. adts_sequence(){while (nextbits() == syncword) {adts_frame();}转载 2012-04-05 17:30:04 · 614 阅读 · 0 评论 -
ALSA声卡驱动中的DAPM详解之一:kcontrol
DAPM是Dynamic Audio Power Management的缩写,直译过来就是动态音频电源管理的意思,DAPM是为了使基于linux的移动设备上的音频子系统,在任何时候都工作在最小功耗状态下。DAPM对用户空间的应用程序来说是透明的,所有与电源相关的开关都在ASoc core中完成。用户空间的应用程序无需对代码做出修改,也无需重新编译,DAPM根据当前激活的音频流(playback/c转载 2015-06-12 09:41:09 · 633 阅读 · 0 评论