wake-up-neo.com

Wie man die Lautstärke auf Android programmgesteuert auf Maximum stellt?

Ich schreibe eine App für Android, die die Lautstärke erhöht und einen Song für 45 Sekunden abspielt und dann stoppt. Das funktioniert sehr gut, aber ich kann die Lautstärke nur auf 50% erhöhen. Gibt es eine Möglichkeit, die Lautstärke mit setVolume () auf 100% zu erhöhen?

Das ist mein 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

Sie können das folgende Snippet mit AudioManager verwenden:

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

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

Dies setzt die Lautstärke auf den maximalen Pegel (getStreamMaxVolume()) für den STREAM_MUSIC (Der in einem Beispiel ein gespielter Song ist). Verwenden Sie für andere Arten von Sounds einen anderen Wert, z. B. STREAM_RING Usw.

64
kamituel