Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to turn the volume to max programmatically on android? [duplicate]

I am writing an app for android that turns up the volume and plays a song for 45 seconds and then stops. That works great, however I can only get the volume to turn up to 50%, Is there a way to turn the volume up to 100% using setVolume()?

This is my 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); } 
like image 839
Sarah Avatar asked Mar 27 '13 22:03

Sarah


People also ask

How do I set volume limit on Android?

Android options Go to Settings > Sound (or something to that end) > Volume, and, if available, tap the three-dot menu in the top right, then select More options or Media volume limiter or tap the radio button to turn the feature On.


1 Answers

You can use the following snippet, using AudioManager:

AudioManager am =      (AudioManager) getSystemService(Context.AUDIO_SERVICE);  am.setStreamVolume(     AudioManager.STREAM_MUSIC,     am.getStreamMaxVolume(AudioManager.STREAM_MUSIC),     0); 

This sets the volume to the maximum level (getStreamMaxVolume()) for the STREAM_MUSIC (which is on example a song played). For other types of sounds, use different value, like STREAM_RING etc.

like image 160
kamituel Avatar answered Oct 05 '22 17:10

kamituel