当前位置: 移动技术网 > IT编程>移动开发>Android > android audio/linux alsa音频-框架

android audio/linux alsa音频-框架

2018年09月19日  | 移动技术网IT编程  | 我要评论

人人折团购导航,复旦邮箱,明天以后生命多渺小

音频部分一直是linux/android开发的难点之一。

linux早期使用的音频是oss(open sound system),由于种种原因(大家可以google),目前广泛使用的是alsa(advanced linux sound architecture),alsa是一个开源项目。

android音频框架的结构图如下所示:

\

(1)application: 音频系统的最上层,它由app程序调用系统的api类实现音乐播放器、游戏声音、音效、录音等,这些api类主要有mediaplayer,mediarecorder,audiotrack,audiorecord等。

(2)framework:实现api类和服务管理类mediaservice,audiosystem,audiomanager。这些类用java语音实现,代码放在frameworks/base/media/java/android/media下,在内部实现时很多是简单地调用了libraries的代码。

(3)libraries:包括c\c++实现的jni代码,重要的有audioflinger,audioplicyservice,audiomixer等。代码放在frameworks/av/media/libmedia。

(4)hal层:实现audio_hw_device和audio_policy_hal,实现与alsa的音频接口,实现音频路径的创建和连接。

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网