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流音量调节。

相关推荐
修炼者22 分钟前
Android Studio的技巧
android·android studio
雨白38 分钟前
ARouter 入门指南:从基本跳转到对象传递
android
用户69371750013841 小时前
17.Kotlin 类:类的形态(四):枚举类 (Enum Class)
android·后端·kotlin
h***34631 小时前
MS SQL Server 实战 排查多列之间的值是否重复
android·前端·后端
用户69371750013841 小时前
16.Kotlin 类:类的形态(三):密封类 (Sealed Class)
android·后端·kotlin
摆烂积极分子4 小时前
安卓开发学习-安卓版本
android·学习
n***26565 小时前
MySQL JSON数据类型全解析(JSON datatype and functions)
android·mysql·json
t***82115 小时前
mysql的主从配置
android·mysql·adb
极智-9967 小时前
视频文件格式?【图文详解】视频文件后缀名?视频文件格式转换?
音视频·视频文件格式·视频文件后缀名·视频文件格式转换
Android系统攻城狮7 小时前
Android16音频之设置HDMI音频setHdmiSystemAudioSupported:用法实例(一百一十六)
音视频·android16·音频进阶·hdmi音频