无法在音频播放器中移动滑块

时间:2020-02-11 01:08:54

标签: ios swift xcode

我在xcode故事板上放置了一个滑块,但无法移动。当我尝试移动手机上的滑块时,它不会移动。我应该在其中添加一个操作选择器吗?

1 个答案:

答案 0 :(得分:0)

您必须使用该滑块启动计时器

var timer : Timer? = nil {
        willSet {
            timer?.invalidate()
        }
    }

 func startTimer() {
        stopTimer()
        guard timer == nil else { return }
        timer = Timer.scheduledTimer(timeInterval: 0.7, target: self, selector: #selector(updateSlider), userInfo: nil, repeats: true)
    }
    func stopTimer() {
        guard timer != nil else { return }
        timer?.invalidate()
        timer = nil
    }
       @objc func updateSlider(){
        if let currentItem = audioPlayer.currentItem {
            let duration = currentItem.duration
            if (CMTIME_IS_INVALID(duration)) {
                // Do sth
                return;
            }
            let currentTime = currentItem.currentTime()
            seekBar.value = Float(CMTimeGetSeconds(currentTime) / CMTimeGetSeconds(duration))
        }
    }