Ich schreibe eine App für Android, die die Lautstärke erhöht und ein Lied für 45 Sekunden spielt und dann stoppt. Das funktioniert gut, aber ich kann nur die Lautstärke auf 50% erhöhen. Gibt es eine Möglichkeit, die Lautstärke mit setVolume() auf 100% zu erhöhen?Wie programmiere ich die Lautstärke auf Android?
Dies 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);
}
Das scheint schrecklich anstößig. Ich kann sehen, warum die API Sie auf 50% Volumen beschränken könnte. –
In jedem Fall: http://sagistech.blogspot.com/2010/07/setting-android-volume-programmatically.html, und das Duplikat in Ihrer Frage verlinkt, oben. Grundsätzlich möchten Sie die AudioManager-Klasse und nicht die MediaPlayer-Klasse verwenden. –
@RobertHarvey - wenn diese 50% -Begrenzung tatsächlich wahr ist, würde ich meinen, dass das wegen des Gehörschutzes ist. Das ist, was passiert, wenn Sie die Lautstärke auf dem Android-Gerät einstellen - es geht um 50% und fragt dann, ob Sie sicher sind, dass Sie höher gehen möchten, da dies Ihr Gehör schädigen kann. ** Bearbeiten: ** [aus der Dokumentation] (http://developer.android.com/reference/android/media/MediaPlayer.html): 'Diese API wird empfohlen, um die Ausgabe von Audiostreams innerhalb einer Anwendung auszugleichen.' - Wenn die Systemlautstärke 50% beträgt, wird 'MediaPlayer.setVolume()' nicht darüber hinausgehen. – kamituel