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

相关推荐
勇气要爆发8 小时前
【第五阶段-高级特性和架构】第三章:高级状态管理—GetX状态管理篇
android·架构
未来之窗软件服务10 小时前
服务器运维(十五)自建WEB服务C#PHP——东方仙盟炼气期
android·服务器运维·东方仙盟·东方仙盟sdk·自建web服务
Zender Han15 小时前
Flutter 新版 Google Sign-In 插件完整解析(含示例讲解)
android·flutter·ios·web
来来走走18 小时前
Android开发(Kotlin) LiveData的基本了解
android·开发语言·kotlin
柳鲲鹏18 小时前
OpenCV:文件视频防抖,python版
python·opencv·音视频
柳鲲鹏19 小时前
OpenCV:实时视频防抖,python版(改进连续帧处理)
音视频
。puppy19 小时前
MySQL 远程登录实验:通过 IP 地址跨机器连接实战指南
android·adb
dongdeaiziji19 小时前
深入理解 Kotlin 中的构造方法
android·kotlin
风起云涌~20 小时前
【Android】浅谈Navigation
android
游戏开发爱好者820 小时前
iOS 商店上架全流程解析 从工程准备到审核通过的系统化实践指南
android·macos·ios·小程序·uni-app·cocoa·iphone