Swift: how to set the iphone volume programmatically

Charles picture Charles · Mar 31, 2016 · Viewed 16.1k times · Source

I am trying to create an alarm app and I have noticed that apps like Sleep Cycle will set your volume to max right before the alarm goes off, even if you had the volume at very low.

I have tried using AVAudioPlayer and all I have seen with MPVolumeView is that the user must do it. Is there any way I can turn it up without the user having to do it?

Thank you for your help.

If I could please get the code in swift

Answer

Leo Dabus picture Leo Dabus · Mar 31, 2016

You just need to import MediaPlayer. You can do as follow:

import MediaPlayer        

And to set the volume to maximum

(MPVolumeView().subviews.filter{NSStringFromClass($0.classForCoder) == "MPVolumeSlider"}.first as? UISlider)?.setValue(1, animated: false)