前面介绍了音量调节的两种常见方法,上一篇我们分析了音量增减的代码调用流程,这里我们看一下另一个设置音量的方法 setStreamVolume()。
一、流程分析
对于该方法通常都是软件键设置音量时直接调用,而在车机开发中通常调用的是 CarAudioManager 中的对应方法,最终也会调用到 AudioManager 中。
SysSettingAdapter
private static int mVolumeGroupIdMedia = VOLUME_GROUP_INDEX_MEDIA;
private static final int VOLUME_GROUP_INDEX_MEDIA = 0;
/**
* 获取媒体音音量
*/
public void getAudioMediaVolume(){
}
/**
* 设置媒体音音量
*/
public void setAudioMediaVolume(int index){
try {
if (mCarAudioManager == null) {
return;
}
mCarAudioManager.setGroupVolume(mVolumeGroupIdMedia, index, 0);
} catch (Exception e) {
e.printStackTrace();
}
}
CarAudioManager
源码位置:/packages/services/Car/car-lib/src/android/car/media/CarAudioManager.java
private final ICarAudio mService;
/**
* Zone主音频区域id