wake-up-neo.com

Android: Wie kann ich MediaPlayer Volume programmgesteuert einstellen?

Wie programmiere ich das Mediaplayer-Volume? Ich benutze es zur Alarmbenachrichtigung. Jede Hilfe wird sehr geschätzt und bedankt sich im Voraus.

41
Pattabi Raman

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 

43
user370305

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);
24
Dwivedi Ji

Sie haben die setVolume-Methode in der MediaPlayer-Klasse. Siehe hier

6
abhinav

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);
4
Kanakaraj

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.

2
Cosmin

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
0
Hits sapra

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);
0
Rahul Baradia

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)
    }
0
Hasan A Yousef

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

    }
0
Arfan Mirza

Denken Sie daran, die Lautstärke der linken und rechten Lautsprecher einzustellen.

if (System.nanoTime() == alarm){
    yourMediaPlayer.setVolume(volume, volume)}
}
0
doppelhelix