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

相关推荐
·云扬·2 分钟前
MySQL 日志全解析:Binlog/Redo/Undo 等 5 类关键日志的配置、作用与最佳实践
android·mysql·adb
Kapaseker9 分钟前
如果你的 View 不支持 Compose 怎么办
android·kotlin
珹洺31 分钟前
Java-Spring入门指南(五)Spring自动装配
android·java·spring
sylvia_081540 分钟前
react native 初次使用Android Studio 打包
android·react native·android studio
前行的小黑炭1 小时前
Android:在项目当中可能会遇到的ANR,应该如何解决?
android·java·kotlin
老衲不服5 小时前
android 三方sdk minSdkVersion 兼容问题处理
android
悟乙己7 小时前
Github | MoneyPrinterTurbo:自动化视频内容生成系统
自动化·github·音视频
wan5555cn8 小时前
多张图片生成视频模型技术深度解析
人工智能·笔记·深度学习·算法·音视频
android_xc8 小时前
Android Studio国内仓库配置
android·ide·android studio
alexhilton8 小时前
runBlocking实践:哪里该使用,哪里不该用
android·kotlin·android jetpack