Android Audio System
文章平均质量分 77
jeffreyliu
这个作者很懒,什么都没留下…
展开
-
Android Audio System 之一:AudioTrack如何与AudioFlinger交换音频数据
引子Android Framework的音频子系统中,每一个音频流对应着一个AudioTrack类的一个实例,每个AudioTrack会在创建时注册到AudioFlinger中,由AudioFlinger把所有的AudioTrack进行混合(Mixer),然后输送到AudioHardware中进行播放,目前Android的Froyo版本设定了同时最多可以创建32个音频流,也就是说,Mixer最转载 2012-04-19 08:48:35 · 487 阅读 · 0 评论 -
Android Audio System 之三: AudioPolicyService 和 AudioPolicyManager
引言 AudioPolicyService是Android音频系统的两大服务之一,另一个服务是AudioFlinger,这两大服务都在系统启动时有MediaSever加载,加载的代码位于:frameworks/base/media/mediaserver/main_mediaserver.cpp。AudioFlinger主要负责管理音频数据处理以及和硬件抽象层相关的工作。本文主要介绍Au转载 2012-04-19 08:49:15 · 522 阅读 · 0 评论 -
Android Audio System 之二:AudioFlinger
引言 AudioFlinger是Android音频系统的两大服务之一,另一个服务是AudioPolicyService,这两大服务都在系统启动时有MediaSever加载,加载的代码位于:frameworks/base/media/mediaserver/main_mediaserver.cpp。AudioPolicyService的相关内容请参考另一编文章:《Android Audi转载 2012-04-19 08:49:48 · 475 阅读 · 0 评论 -
Android音频子系统源码分析之AudioTrack的使用
网上已有许多朋友对Android音频子系统做了透彻的分析,我这完全是给自己在做学习笔记本文基于Android IcsAudioTrack的使用实例,在google的源码中已经为我们准备了AudioTrack的测试代码,代码路径如下:frameworks/base/media/tests/MediaFrameworkTest/src/com/android/mediaframeworkt原创 2012-05-06 13:24:39 · 4513 阅读 · 0 评论 -
android+WM9714(AC97)调试
s3c6410平台,codec为WM9714(驱动可使用WM9713的),使用ALSA,android版本1.5. MID上移植android以来一直没有声音。 首先确认AC97的硬件连接,AC-LINK通讯是否正常,这里使用到wince中的init寄存器组,在sound/soc/codecs/wm9713.c中替换static const u16 wm9713_reg[]相应的寄存器转载 2012-04-20 21:16:17 · 706 阅读 · 0 评论 -
S3c610 Codec移植的工作经验总结
1. S3C6410与WM9713的I2S,AC97,PCM相比较:1.I2S,AC97,PCM是不同的,各是各的,三者时序不同,要双方通信,必须要是同一种时序,要么均是I2S,要么均是AC97,要么均是PCM2.S3C6410的I2S,AC97,PCM复用同一组Pin脚,但同一时间只能用一种类型,要么是I2S,要么是AC97,要么是PCM3.WM9713有两大接口,一转载 2012-04-20 21:20:25 · 694 阅读 · 0 评论 -
Android音频子系统源码分析之AudioFlinger的实现
音频系统的播放接口由AudioTrack提供,每一个音频都会对应一个AudioTrack实例,它会通过iBinder来远程调用AudioFlinger的createTrack函数.AudioFlinger 会根据传入的frameCOunt参数申请一块内存,AudioTrack可以通过IaudioTrack接口的getCblk()函数获得指向该内存的Imemory接口,然后AudioTrack通过该原创 2012-05-07 15:04:30 · 2700 阅读 · 0 评论