How to change ios volume in swift with help UISlid

2019-02-21 05:02发布

问题:

I wrote the following code, but it doesn't change iOS System Volume, it only changes the sound from within the app. audioPlayer is subclass of AVAudioPlayer

   @IBAction func sliderVol(sender: UISlider) {
        audioPlayer.volume = sender.value
    }

The UISlider has the sent event of value changed
How can I change iOS system volume with help UISlider?

回答1:

The MPVolumeView class is designed to let you do exactly this. It's in MediaPlayer framework. So, add that to your app to make things build correctly.

You create it and make it visible the way you instantiate any other subclass of UIView, which you probably know by now.

You can provide your own frame and use this to change the system volume.

var wrapperView = UIView(frame: CGRectMake(30, 200, 260, 20))
self.view.backgroundColor = UIColor.clearColor()
self.view.addSubview(wrapperView)

// 3
var volumeView = MPVolumeView(frame: wrapperView.bounds)
wrapperView.addSubview(volumeView)

For more help you can look here Controlling system volume using swift