ios - 将 MPVolumeView slider 拇指位置设置为设备音量

标签 ios swift swift2 mpvolumeview

我使用 MPVolumeView生成一个水平 slider ,它允许我管理正在播放的音频的音量。它很好用。但是,在初始化时,我希望 slider 占据与设备音量对应的位置而不是 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)
}

最佳答案

initviewDidLoad 中将 slider 的 value 分配给 AVAudioSession.sharedInstance().outputVolume你的 View Controller 。请记住 import AVFoundation 以使用 AVAudioSession

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

关于ios - 将 MPVolumeView slider 拇指位置设置为设备音量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38682648/

相关文章:

iphone - View Controller 之间的数据未传递

ios - 通过文本字段传递隐藏变量或两个变量

ios - UIStackView - 想要一个百分比来定义每个项目

ios - 在 UILabel 的 draw#rect 中获取字形 boundingRect

ios - 如何将字符串保存到 CoreData 数组的开头

ios - Swift - 如何通过方法调用传递类型?

ios - 如何使用另一个 View Controller 类的数组?

ios - 浏览每个位于连续 tableView 单元格内的文本字段?

iphone - SIGABRT 错误 - NSUnknownKeyExeption (SetValue :forUndefinedKey;)

iOS 模拟器不再使用 phonegap 从命令行运行