Android中如何禁止音量调节至静音
16lz
2021-01-23
Android中音量按键在调低音量时,如果一直按住Down按钮不放,则系统将音量跳到最小后,又自动调节到静音状态。这个机制和iPhone是不同的,iPhone中无论你怎么按Volume-按钮,只能调到最小,还是有一点声音,是不能自动静音的。
Android中如果要禁止这个自动静音功能,也是有办法的,找到Down按钮的处理事件,做个判断就行了,代码在:
frameworks/base/media/java/android/media/AudioManager.java
public void handleKeyDown(KeyEvent event, int stream) { int keyCode = event.getKeyCode(); switch (keyCode) { case KeyEvent.KEYCODE_VOLUME_UP: case KeyEvent.KEYCODE_VOLUME_DOWN: /* * Adjust the volume in on key down since it is more * responsive to the user. */ int flags = FLAG_SHOW_UI | FLAG_VIBRATE; /* avoid auto mute when adjust lower */ int currentVolume = getStreamVolume(STREAM_MUSIC); Log.e(TAG, String.format("currentVolume=%d", currentVolume)); if (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN && currentVolume <= 1) { break; } if (mUseMasterVolume) { adjustMasterVolume( keyCode == KeyEvent.KEYCODE_VOLUME_UP ? ADJUST_RAISE : ADJUST_LOWER, flags); } else {
更多相关文章
- android 对话框之——带单选列表、带多选项列表、按钮等问题
- Android状态栏适配和自定义toolbar胶囊按钮(可实现半透明状态栏)
- Android 代码实现按钮 按下弹起事件
- Android通过AudioFlinger限制音量最大值
- Android 通过按钮弹出系统菜单(通过Button显示菜单)转
- Android实现音量调节的方法
- Android EditText 自带清除按钮 的一种解决方案(ViewGroup实现)
- 自定义控件:滑动开关按钮