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
  • 31,101
  • 42
  • 135
  • 231
user264953
  • 1,697
  • 8
  • 33
  • 58
  • 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,081
  • 6
  • 34
  • 63
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
  • 46,935
  • 21
  • 128
  • 175
ininprsr
  • 2,392
  • 2
  • 13
  • 9