4

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?

fredley
  • 32,953
  • 42
  • 145
  • 236
user264953
  • 1,837
  • 8
  • 37
  • 63
  • 1
    I'd guess ``AudioManager.setStreamVolume(int, int, int)`` should allow you to set specific volume for these settings. As for stream types there seem to be e.g. ``AudioManager.STREAM_RING`` I would expect set volume for ringer. – harism Feb 06 '12 at 17:51

2 Answers2

20

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);
madlymad
  • 6,367
  • 6
  • 37
  • 68
Rohit Sangal
  • 737
  • 1
  • 7
  • 9
3

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);
    
musefan
  • 47,875
  • 21
  • 135
  • 185
ininprsr
  • 2,472
  • 2
  • 14
  • 9