Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Setting the Android System Volume

I am writing an application which handles the following:

  1. Silent - Makes the phone volume silent
  2. Low - Makes the phone volume 1 point above the silent
  3. Medium - Makes the phone volume medium
  4. High - Makes the phone volume maximum

Phone volume includes Ringer, video, audio , games volume etc.

I know how to achieve Silent mode through AudioManager. But for 2-4 , I could not find any helpful code snippets. What do I need to do?

like image 678
user264953 Avatar asked Nov 29 '22 17:11

user264953


2 Answers

Add this in onCreate() method of your code and then play around with the 0 value to increase or decrease the volume where 0 means OFF.

AudioManager mgr=null;

mgr=(AudioManager)getSystemService(Context.AUDIO_SERVICE);
mgr.setStreamVolume(AudioManager.STREAM_MUSIC, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
mgr.setStreamVolume(AudioManager.STREAM_RING, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
mgr.setStreamVolume(AudioManager.STREAM_ALARM, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
mgr.setStreamVolume(AudioManager.STREAM_SYSTEM, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
mgr.setStreamVolume(AudioManager.STREAM_NOTIFICATION, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
like image 50
Rohit Sangal Avatar answered Dec 05 '22 04:12

Rohit Sangal


Check out http://thinkandroid.wordpress.com/2010/04/05/dealing-with-the-android-media-player/

The steps are:

  • get the audio man.
  • fetch the required stream.
  • call appropriate method on stream.

e.g.:

mAudioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
  • to get max vol:

    int maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
    
like image 38
ininprsr Avatar answered Dec 05 '22 05:12

ininprsr