2010-04-30 15 views
7

Algunos programas de Android activan el control deslizante de "volumen de medios" cuando se presionan los botones de subir/bajar el volumen de hardware. Mi aplicación parece establecer el volumen del timbre cuando se presionan los botones de hardware.Habilitar control deslizante de volumen de medios en la aplicación de Android

¿Cómo habilitaría el control deslizante de volumen de medios?

No me gustaría que los usuarios tengan que entrar en sus configuraciones para cambiar el volumen de los medios cuando usan mi aplicación.

+0

asegúrese de probar el comportamiento de los botones durante la reproducción y mientras no la reproducción de sonidos. Durante la reproducción, el control de medios debe ser el predeterminado para los botones. Pero el método de Christopher permitirá a los usuarios cambiar el volumen cada vez que la actividad esté activa. – Janusz

Respuesta

3
private AudioManager audio; 

Dentro onCreate:

audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 

Anulación onKeyDown:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    switch (keyCode) { 
    case KeyEvent.KEYCODE_VOLUME_UP: 
     audio.adjustStreamVolume(AudioManager.STREAM_MUSIC, 
       AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI); 
     return true; 
    case KeyEvent.KEYCODE_VOLUME_DOWN: 
     audio.adjustStreamVolume(AudioManager.STREAM_MUSIC, 
       AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI); 
     return true; 
    default: 
     return false; 
    } 
} 
Cuestiones relacionadas