2016-11-17 5 views
0

Ich möchte die Lautstärke für einen Alarm einstellen. Ich benutze diesen Code, aber nichts scheint mit dem Volume zu passieren, nur Logs zeigen den Wert des Volumens, das ich eingestellt habe. Was muss ich tun, um die Lautstärke zu ändern?Lautstärke eines Alarms ändern

Mein Code:

final MediaPlayer mediaPlayer = MediaPlayer.create(this, RingtoneManager.getActualDefaultRingtoneUri(this,RingtoneManager.TYPE_ALARM)); 

     final AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE); 
     final int currentVolume = audio.getStreamVolume(AudioManager.STREAM_ALARM); 
     Log.e("Point_1", "Volume " + currentVolume); 
     audio.setStreamVolume(AudioManager.STREAM_ALARM,0,0); 
     mediaPlayer.start(); 
     new Timer().schedule(new TimerTask() { 
      @Override 
      public void run() { 
       mediaPlayer.stop(); 
       Log.e("Point_1", "Volume_after " + audio.getStreamVolume(AudioManager.STREAM_ALARM)); 
      } 

    }, 5000); 

Dank.

Antwort

0

Verwendung dieser Code

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

audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 
          [int value], 
          [if desired a flag]); 

Sie AudioManager.STREAM_MUSIC statt AudioManager.STREAM_ALARM

und How to correctly set MediaPlayer audio stream type zu

+0

sehen Hey, Dank verwenden sollten! Kannst du mir bitte auch sagen, gibt es eine Möglichkeit, das maximale Volumen zu erhalten, teile es in 100 und benutze es dann als Wert für setStreamVolume? – Steve

+0

siehe http://stackoverflow.com/questions/15670524/how-turn-the-volume-to-max-programmatical-on-android – zohreh

Verwandte Themen