Tengo una aplicación que reproduce sonidos intermitentes mientras su actividad está abierta, y el usuario siempre espera que haga estos ruidos, pero desafortunadamente está restringido por el volumen de la transmisión de música. Las opciones que he descubierto son así:
Creo que la tercera opción es probablemente la mejor, ya que cede el control del volumen al usuario, pero si hubiera alguna manera de anular el volumen del sistema en una sola instancia del reproductor de medios que también funcionaría.
Recibí otra sugerencia a través de Grupos de Google que es la solución integrada de plataforma que estaba buscando y funciona bien:
No maneje las teclas de volumen usted mismo; es casi imposible garantizar que no se romperá el comportamiento de las teclas de volumen.
Llame a esta API en su onCreate ():
setVolumeControlStream (AudioManager.STREAM_MUSIC);
Esto le dice al AudioManager que cuando su aplicación tenga foco, las teclas de volumen deberían ajustar el volumen de la música.
Es útil de esta API: setVolumeControlStream (AudioManager.STREAM_MUSIC);
A menos que esto pase más tiempo para corregir ese error de volumen.
Si está utilizando el método ‘OnKeyDown’, puede solucionar este problema haciendo lo siguiente:
public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_VOLUME_UP || keyCode == KeyEvent.KEYCODE_VOLUME_DOWN) { setVolumeControlStream(AudioManager.STREAM_MUSIC);}}
Esto no lo ayudará si ha reemplazado el método KeyDown (int keycode, KeyEvent event) de una actividad.