Это странно, потому что я писал аналогичную функциональность, а Android, кажется, воспроизводит более громкие звуки, когда вы увеличиваете громкость потока.
am.setStreamVolume(AudioManager.STREAM_MUSIC, progress,AudioManager.FLAG_PLAY_SOUND);
Вот что я использовал в своем приложении. am является экземпляром AudioManager, который вы можете получить, написав:
AudioManager am = (AlarmManager) getSystemService(AUDIO_SERVICE);
Чтобы отключить звук, вы можете заменить AudioManager.FLAG_PLAY_SOUND значением «0», что должно его отключить.
Я не уверен, возможно ли заменить этот звук в AudioManager, но вы можете воспроизводить эти пользовательские звуки с помощью MediaPlayer внутри ваших методов onKeyDown.
Надеюсь, это поможет.