Reputation: 8995
Ok,
This gets the system volume, works well.
var volume = AVAudioSession.sharedInstance().outputVolume
print("output volume: \(volume)")
But how do I set the system volume [in Swift] please
Upvotes: 12
Views: 19973
Reputation: 35783
Here is what you need to do with latest iOS 10.2
Step 1. Import MediaPlayer
import MediaPlayer
Step 2. Add extension
//Update system volume
extension MPVolumeView {
static func setVolume(_ volume: Float) {
let volumeView = MPVolumeView()
let slider = volumeView.subviews.first(where: { $0 is UISlider }) as? UISlider
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.01) {
slider?.value = volume
}
}
}
Step 3. Change volume this way
//Update system volume
MPVolumeView.setVolume(0.2)
Thanks to trungduc
Upvotes: 19
Reputation: 3247
First you need to import media player like,
import MediaPlayer
Then you can set the system volume like,
let volumeView = MPVolumeView()
if let view = volumeView.subviews.first as? UISlider
{
view.value = 0.1 // set b/w 0 t0 1.0
}
Hope this will help you.
Upvotes: 10