说明:作为学习的笔记,可能有不少的错误
调用关系:
1.从上往下涉及的主要代码文件如下:
1) AudioManager.java
2) AudioService.java
3) AudioSystem.java
4) AudioSystem.cpp
5) audioFlinger ....
6) audio policy
2.
以调节音量方法为例,进行分析。adjustStreamVolume()
1) AudioManager ,这也是APK直接接触到的接口,APP通过调用调用AudioManager的方法,来设置声音相关的操作。
2)
a) 构造函数,会读取内部的默认配置,从XML文件中获取。
<pre name="code" class="java">
public AudioManager(Context context) {
mContext = context;
mUseMasterVolume = mContext.getResources().getBoolean(
com.android.internal.R.bool.config_useMasterVolume);
mUseVolumeKeySounds = mContext.getResources().getBoolean(
com.