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

相关推荐
RainyJiang3 分钟前
聊聊协程里的 Semaphore:别让协程挤爆门口
android·kotlin
Dev7z2 小时前
在MySQL里创建数据库
android·数据库·mysql
invicinble2 小时前
mysql建立存数据的表(一)
android·数据库·mysql
似霰3 小时前
传统 Hal 开发笔记1----传统 HAL简介
android·hal
Zender Han4 小时前
Flutter Gradients 全面指南:原理、类型与实战使用
android·flutter·ios
火柴就是我4 小时前
Flutter Path.computeMetrics() 的使用注意点
android·flutter
Yutengii4 小时前
b站视频下载到电脑本地的方法有哪些
音视频
モンキー・D・小菜鸡儿5 小时前
Android 系统TTS(文字转语音)解析
android·tts
2501_915909065 小时前
iOS 反编译防护工具全景解析 从底层符号到资源层的多维安全体系
android·安全·ios·小程序·uni-app·iphone·webview
Swizard5 小时前
速度与激情:Android Python + CameraX 零拷贝实时推理指南
android·python·ai·移动开发