Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Controlar las teclas de volumen

En mi aplicación he sobrepasado las funciones onKeyDown() y onKeyUp() para capturar eventos de claves de volumen. Utilizo estos eventos para controlar el volumen de mi aplicación. Yo uso el flujo de música para reproducir mis sonidos. Al detectar un evento como este también muestro un brindis personalizado (similar al que muestra Android). Los problemas que estoy enfrentando con esta toma son:

  1. Android siempre reproduce un sonido en eventos de teclas de volumen
  2. Ese sonido se reproduce siempre con la misma intensidad.

Lo que me gustaría es controlar la intensidad con que se reproduce el sonido por defecto (también el flujo en el que se reproduce) de la siguiente manera: un sonido más alto para un volumen más alto y un sonido más bajo para un volumen bajo, si es posible. O una manera de desactivar la reproducción de ese sonido predeterminado y reproducir mi sonido personalizado con la intensidad que acabo de configurar.

2 Solutions collect form web for “Controlar las teclas de volumen”

En realidad, el sonido se reproduce en onKeyUp (…), por lo que simplemente puede sobrecargar el método en su actividad cuando se llama para las teclas de volumen:

 @Override public boolean onKeyUp(int keyCode, KeyEvent event) { if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP) || (keyCode == KeyEvent.KEYCODE_VOLUME_DOWN)) { return true; } return super.onKeyUp(keyCode, event); } 

Esto funcionó para mí 🙂

Es extraño porque estaba escribiendo funcionalidad similar y Android parece tocar sonidos más fuertes cuando subes el volumen de la corriente.

 am.setStreamVolume(AudioManager.STREAM_MUSIC, progress,AudioManager.FLAG_PLAY_SOUND); 

Eso es lo que usé en mi aplicación. Am es una instancia de AudioManager que puede obtener escribiendo:

 AudioManager am = (AlarmManager) getSystemService(AUDIO_SERVICE); 

Para desactivar el sonido puede reemplazar AudioManager.FLAG_PLAY_SOUND con valor "0" lo que debe deshabilitarlo.

No estoy seguro de si es posible reemplazar esos sonidos en AudioManager, pero puede reproducir esos sonidos personalizados con MediaPlayer dentro de sus métodos onKeyDown.

Espero que esto ayude.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.