将MPVolumeView滑块的拇指位置设置为设备音量
问题描述:
我使用MPVolumeView来生成水平滑块,该水平滑块允许我管理正在播放的音频的音量。它效果很好。然而,在初始化时,我想发生在对应于设备的体积,而不是0.5,默认位置滑块:将MPVolumeView滑块的拇指位置设置为设备音量
这是我做的代码:
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)
}
答
将视图控制器的滑块value
设置为AVAudioSession.sharedInstance().outputVolume
或init
或viewDidLoad
。请记住import AVFoundation
使用AVAudioSession
。
或者,您可以编程初始化您的MPVolumeView
,而不是将它作为插座。我相信这是你问题的根源。
感谢您的回答,但这不起作用 – Zl3n
@ Zl3n什么不行? 'outputVolume'与当前设备的音量不符? – JAL
当我将'mpVolumeSlider?.setValue(0.1,animated:true)'放入函数或init()中时,这并不起任何作用......但是,设备音量保持不变。 – Zl3n