涉及到的代码:
framework/base/media/
AudioManager.java
AudioService.java
framework/base/package/SystemUI/
VolumeDialogController.java ——- 界面逻辑处理
VolumeDialog.java ——— UI显示
volume_dialog.xml ——— UI布局文件
什么是AudioManger
AudioManger和AudioService的关系:
AudioManager 封装了AudioService的服务,并通过getservice()方法获取AudioService的 Service 实例,涉及到普遍使用的aidl.
调用的通用方式:
import android.media.AudioManager;
private AudioManager mAudioManager;
mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
各种public方法随你用,当然也包括系统音量的各种接口。
关于系统音量界面的调用将走到SystemUI中,涉及的关键文件如下,看命名就能看出来:
framework/base/package/SystemUI/
VolumeDialogController.java ——-

本文深入探讨Android系统音量界面,涉及AudioManager与AudioService的关系,重点解析VolumeDialogController和VolumeDialog的实现。同时,讨论源码中引用资源编译报错的解决方法、Dialog是否必须依附于Activity以及外放和耳机音量统一的实现策略。
最低0.47元/天 解锁文章
1885

被折叠的 条评论
为什么被折叠?



