user3069232
user3069232

Reputation: 8995

Setting the system volume in Swift under IOS

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

Answers (2)

swiftBoy
swiftBoy

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

Jigar Tarsariya
Jigar Tarsariya

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

Related Questions