Wie programmiere ich das Mediaplayer-Volume? Ich benutze es zur Alarmbenachrichtigung. Jede Hilfe wird sehr geschätzt und bedankt sich im Voraus.
Mit AudioManager können Sie die Lautstärke des Media Players steuern.
AudioManager audioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 20, 0);
auch vom MediaPlayer (habe ich aber nicht ausprobiert)
public void setVolume (float leftVolume, float rightVolume)
Seit: API Level 1
Stellt die Lautstärke dieses Players ein. Diese API wird empfohlen, um die Ausgabe von Audioströmen innerhalb einer Anwendung auszugleichen. Wenn Sie nicht eine Anwendung schreiben, um die Benutzereinstellungen zu steuern, sollte diese API gegenüber setStreamVolume (int, int, int) bevorzugt werden, wodurch das Volumen ALLER Streams eines bestimmten Typs festgelegt wird. Beachten Sie, dass die übergebenen Volumenwerte Rohskalars sind. Steuerelemente der Benutzeroberfläche sollten logarithmisch skaliert werden.
Parameter
leftVolume linker Volumenskalar
rightVolume Right Volume-Skalar
Ich hoffe das hilft
audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
Für Volume UP
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
für Lautstärke verringern
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
Sie haben die setVolume
-Methode in der MediaPlayer
-Klasse. Siehe hier
So verbergen Sie die Volume Control-Benutzeroberfläche:
audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
Für Volume UP
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_RAISE, 0);
für die Lautstärke verringern
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
AudioManager.ADJUST_LOWER, 0);
Lesen Sie diese Seite hier. Es erklärt sehr gut . Wenn Ihre App kein Ersatzwecker ist, müssen Sie in der Funktion "onCreate ()" folgenden Aufruf ausführen:
setVolumeControlStream(AudioManager.STREAM_MUSIC);
Auf diese Weise können Sie das Volumen Ihrer App mithilfe der Hardwaretasten erstellen.
Code:
AudioManager mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
try
{
float count = 100 * 0.2f;
Log.d("--count_float", count + "");
Log.d("--count_final", Math.round(count) + "");
Log.d("--count_volume", new
PreferenceMotionSensor(mContext).getStreamVolume());
mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, Math.round(count), 0);
}
catch (Exception e)
{
Log.d("--Error", e.getMessage());
}
Ausgabe
D/--count_float: 20.0
D/--count_final: 20
D/--count_volume: 100
Der folgende Code setzt die Lautstärke auf den maximalen Pegel (getStreamMaxVolume ()).
AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
am.setStreamVolume(AudioManager.STREAM_MUSIC,am.getStreamMaxVolume(AudioManager.STREAM_MUSIC),0);
Mit Kotlin
können Sie Folgendes tun. Dieser Code prüft, ob das Medienvolumen mehr als 20% der maximalen Lautstärke des Geräts beträgt, und verringert es auf 20%.
val audio = this.getSystemService(Context.AUDIO_SERVICE) as AudioManager
val level = audio.getStreamVolume(AudioManager.STREAM_MUSIC)
val maxVolume = audio.getStreamMaxVolume(AudioManager.STREAM_MUSIC)
val percent = 0.2f
val twintyVolume = (maxVolume * percent).toInt()
if ( level > twintyVolume) {
Toast.makeText(this,"audio level is $level", Toast.LENGTH_LONG).show()
audio.setStreamVolume(AudioManager.STREAM_MUSIC,twintyVolume,0)
}
Versuche dies
protected static void setVolume(int volume) {
currentVolume = volume;
{
if (volume == 1) {
volume = 2;
}
try {
float vol = ((float) volume / CONSTANT.SYSTEM_MAX_VOLUME);
mediaPlayer.setVolume(vol, vol);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Denken Sie daran, die Lautstärke der linken und rechten Lautsprecher einzustellen.
if (System.nanoTime() == alarm){
yourMediaPlayer.setVolume(volume, volume)}
}