web-dev-qa-db-fra.com

Comment régler le volume au maximum par programme sur Android?

J'écris une application pour Android qui augmente le volume et joue une chanson pendant 45 secondes, puis s'arrête. Cela fonctionne très bien, mais je ne peux que faire monter le volume à 50%, Existe-t-il un moyen d'augmenter le volume à 100% en utilisant setVolume ()?

Voici mon code:

final MediaPlayer mp = MediaPlayer.create(context, R.raw.sound_file_1);

//plays eye of the tiger for 45 seconds
if (messages.contains("MUSIC ONLY")){

    //turn up the volume
    mp.setVolume(20, 20);
    mp.start();

    //play ring tone for 45 seconds
    new Timer().schedule(new TimerTask() {
        @Override
        public void run() {
            mp.stop();
        }
    }, 45000);
}
32
Sarah

Vous pouvez utiliser l'extrait de code suivant, en utilisant AudioManager :

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

am.setStreamVolume(
    AudioManager.STREAM_MUSIC,
    am.getStreamMaxVolume(AudioManager.STREAM_MUSIC),
    0);

Ceci règle le volume au niveau maximum (getStreamMaxVolume()) pour le STREAM_MUSIC (Qui est par exemple une chanson jouée). Pour d'autres types de sons, utilisez des valeurs différentes, comme STREAM_RING Etc.

64
kamituel