将MPVolumeView滑块拇指位置设置为设备音量

时间:2016-07-31 09:36:58

标签: ios swift swift2 mpvolumeview

我使用MPVolumeView生成一个水平滑块,可以让我管理正在播放的音频的音量。它很棒。但是,在初始化时,我希望滑块取与设备音量相对应的位置而不是0.5 ,默认值为:

enter image description here enter image description here

以下是我所做的代码:

func volumeSlider() {

    let parentVolumeView = MPVolumeView(frame: volumeParentView.bounds)

    for view in parentVolumeView.subviews {
        if (view as UIView).description.rangeOfString("MPVolumeSlider") != nil {
            mpVolumeSlider = view as! UISlider
            print("mpVolumeSlider.value : ", mpVolumeSlider.value)

            // Tried to set mpVolumeSlider.value to volume device, but didn't work, show : 0.0
            // mpVolumeSlider.value = AVAudioSession.sharedInstance().outputVolume
        }
        // Remove device volume indicator
        self.view!.addSubview(parentVolumeView)
    }

    let thumbImage = UIImage(named: "slider-image")
    slider?.setThumbImage(thumbImage, forState: .Normal)
}

1 个答案:

答案 0 :(得分:1)

将您的滑块value分配到AVAudioSession.sharedInstance().outputVolumeinit视图控制器中的viewDidLoad。请务必import AVFoundation使用AVAudioSession

或者,您可以通过编程方式初始化MPVolumeView,而不是将其作为插座。我相信这是你问题的根源。