Incorrect slider value in player (YTPlayerView) with YouTube-Player-iOS-Helper.
Slider can't get to the end.
Video is over, but my custom slider stop and don't get end its value.
Where I'm wrong?
I'll put some cut of code and functions (if need more, please say):
class PlayerViewController: UIViewController, YTPlayerViewDelegate {
var durationOfVideo: Double?
lazy var rewindSlider: UISlider = {
let slider = UISlider()
slider.minimumTrackTintColor = .white
slider.maximumTrackTintColor = #colorLiteral(red: 0.8039215803, green: 0.8039215803, blue: 0.8039215803, alpha: 0.7)
slider.setThumbImage(UIImage(named: "Thumb_On_ProgressLine"), for: .normal)
slider.translatesAutoresizingMaskIntoConstraints = false
slider.addTarget(self, action: #selector(handleSliderChange), for: .valueChanged)
return slider
}()
@objc func handleSliderChange() {
print(rewindSlider.value)
}
// MARK: viewDidLoad
override func viewDidLoad() {
super.viewDidLoad()
webView.delegate = self
webView.load(withVideoId: "kbMqWXnpXcA",
playerVars: ["playsinline": 1])
}
// MARK: Player control
func playerViewDidBecomeReady(_ playerView: YTPlayerView) {
playerView.duration { (time, error) in
print("duration: \(time)")
self.durationOfVideo = time
}
}
func playerView(_ playerView: YTPlayerView, didPlayTime playTime: Float) {
guard durationOfVideo != nil else { return }
self.rewindSlider.value = Float((Double(playTime) / durationOfVideo!))
}