Android(安卓)Audio System
前言
由于这一阵子一直在做Android Audio相关的东西,了解了很多东西却感觉很乱,所以有必要总结一下。
正文
这次详细的记录一下MediaPlayer的工作流程吧,与Audio相关的模块一般有以下几种:播放音乐、录音、电话。
首先看一下Android的系统结构图吧,然后根据结构图来对Audio相关的东西进行分层分析。
Android Audio Archeticture
1. 与Audio相关的文件目录
Applications:Music、SoundRecorder、Phone and Setting -> packages/apps
Framework: frameworks/base/media/java/android/media -> Audio相关的framework
JNI:frameworks/base/media/jni -> Audio相关的jni部分
Libraries: frameworks/base/media/libmedia
frameworks/base/media/libmediaplayerservice -> MediaPlayer service
frameworks/base/services/audioflinger -> Audioflinger服务相关的文件
frameworks/base/media/libstagefright -> 这是与stagefright相关的,主要在Audio中用于codec
2. 与Audio相关的几个服务
1)AudioFlinger Servie
2)MediaPlayerService
3)AudioPolicyService
在系统起来的时候,就会去启动这三个与Audio相关的系统服务。关于这三个服务网上已经有人做了很全面的分析了(只不过还是基于2.3系统的,4.0的audio相关目录都已经变了),可以转向以下链接: http://blog.csdn.net/droidphone/article/details/5951999 -> AudioFlinger http://blog.csdn.net/DroidPhone/article/details/5949280 -> AudioPolicyService 和 AudioPolicyManager
3.Music播放的流程
自己画了个流程图,纯粹为了让自己更好的明白这个流程。(只画到了创建AudioTrack)5. 参考
网上有好多牛人总结的东西都很不错,在此也罗列下:源码分析
http://blog.csdn.net/DroidPhone/archive/2010/10/14/5941344.aspx
http://blog.csdn.net/DroidPhone/archive/2010/10/19/5951999.aspx
http://blog.csdn.net/DroidPhone/archive/2010/10/18/5949280.aspx
http://blog.csdn.net/Innost/archive/2011/01/09/6125779.aspx
http://blog.csdn.net/Innost/archive/2011/01/15/6142812.aspx
应用层
http://blog.csdn.net/hellogv/archive/2010/11/22/6026455.aspx
http://4225953-163-com.javaeye.com/blog/663694
音频系统架构
http://www.kandroid.org/android_pdk/audio_sub_system.html
http://blog.csdn.net/maxleng/archive/2010/05/14/5593759.aspx
http://www.360doc.com/content/10/0421/22/155970_24257702.shtml
音量调节
http://forest606.blog.163.com/blog/static/134450089201001922840481/
http://quanminchaoren.javaeye.com/blog/937050
更多相关文章
- android View 绘制流程 和 事件传递
- Android(安卓)模拟系统事件(三)
- 系统角度解读Android(安卓)P新特性
- Android中Service与Thread的区别
- 手机Android系统有那些优势?
- Android(安卓)7.0 ActivityManagerService(5) 广播(Broadcast)相
- android生命周期(详细总结)
- Android(安卓)Log系统介绍 (基于Android(安卓)N)
- [转】:Android生命周期