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

相关推荐
EasyGBS5 分钟前
视频融合平台EasyCVR可视化AI+视频管理系统,打造轧钢厂智慧安全管理体系
大数据·网络·人工智能·音视频
老板来根葱18 分钟前
这一次,让SystemServer, SystemServiceManager,SystemService不可能再记混
android·源码阅读
鱼洗竹21 分钟前
Flow 的操作符
android
张风捷特烈34 分钟前
平面上的三维空间#05 | 几何形体
android·flutter
王江奎43 分钟前
音视频小白系统入门笔记-1
笔记·音视频
stevenzqzq8 小时前
android中dp和px的关系
android
一一Null10 小时前
Token安全存储的几种方式
android·java·安全·android studio
JarvanMo11 小时前
flutter工程化之动态配置
android·flutter·ios
时光少年14 小时前
Android 副屏录制方案
android·前端
时光少年14 小时前
Android 局域网NIO案例实践
android·前端