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. 参考

   网上有好多牛人总结的东西都很不错,在此也罗列下:


  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值