Clock
Clock

Reputation: 984

Set ring volume programatically on Android phone using Xamarin

The following code works well

AudioManager am = (AudioManager)this.GetSystemService(Context.AudioService);
am.RingerMode = RingerMode.Vibrate;

So after running it the ring volume gets to 0, but I would want to set it to a custom value like for instance "57".

To do this I used the following code:

AudioManager am = (AudioManager)this.GetSystemService(Context.AudioService);
am.SetStreamVolume(Stream.Ring, 57, 0);

After this code runs nothing changed to my ring volume, I expected that it will change to a "57" value.

I am using latest Xamarin libraries on a Android 7.0 version. I need to implement this only for Android.

Is this custom ring volume set a limitation ? What should this am.SetStreamVolume(Stream.Ring, 57, 0); actually do (if it is not changing the ring volume of the phone).

Upvotes: 0

Views: 776

Answers (1)

navylover
navylover

Reputation: 13539

You could use GetStreamMaxVolume firstly to get the maximum value for a particular stream, then set a proper number smaller than the maximum value.

Upvotes: 3

Related Questions