android audio不同音频流,(八)music流音量APK按键调整

(1)apk通过,dispatchKeyEvent()函数监测按键事件:

//apk onCreate()初始化mAudioManager:

mAudioManager = (AudioManager) this.getSystemService(this.AUDIO_SERVICE);

apk接收到按键事件,执行如下处理,调用AudioManager对象函数处理:

@Override

public boolean dispatchKeyEvent(@NonNull KeyEvent keyEvent){

final int keyCode = keyEvent.getKeyCode();

switch(keyCode){

case KeyEvent.KEYCODE_VOLUME_UP:

if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) {

mAudioManager.adjustVolume(AudioManager.ADJUST_RAISE ,0);

}

break;

case KeyEvent.KEYCODE_VOLUME_DOWN:

if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) {

mAudioManager.adjustVolume(AudioManager.ADJUST_LOWER ,0);

}

break;

}

return true;

}

(2)AudioManager对象类文件:

文件路径:

frameworks/base/media/java/android/media/AudioManager.java

AudioManager类,音量调节函数:

public void adjustVolume(int direction, int flags) {

MediaSessionLegacyHelper helper = MediaSessionLegacyHelper.getHelper(getContext());

helper.sendAdjustVolumeBy(USE_DEFAULT_STREAM_TYPE, direction, flags);

}

apk通过监测按键事件,再调用AudioManager函数接口,调节STREAM_MUSIC流音量调节。

相关推荐
QuantumLeap丶20 小时前
《Flutter全栈开发实战指南:从零到高级》- 26 -持续集成与部署
android·flutter·ios
StarShip21 小时前
从Activity.setContentView()开始
android
千里马学框架21 小时前
重学SurfaceFlinger之Layer显示区域bounds计算剖析
android·智能手机·sf·安卓framework开发·layer·surfaceflinger·车载开发
nono牛1 天前
安卓休眠与唤醒流程
android
音视频牛哥1 天前
深入探讨后台摄像头|麦克风采集与轻量级RTSP服务|RTMP推流架构设计
音视频·大牛直播sdk·安卓camera2采集推送·安卓camera2后台采集推流·安卓camera2后台rtmp·安卓camera2后台rtsp·camera2后台rtsp服务
二流小码农1 天前
鸿蒙开发:个人开发者如何使用华为账号登录
android·ios·harmonyos
StarShip1 天前
Android View框架概览
android·计算机图形学
愤怒的代码1 天前
解析Android内存分析的指标
android·app
summerkissyou19871 天前
android-hardware/interfaces/automotive和hardware/libhardware/include/hardware区别
android
Evan芙1 天前
mysql二进制部署以及多实例部署
android·数据库·mysql