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);
}
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.