我试图AVPlayer通过UISlider搜索来实现流畅的视频清理,似乎Apple有技术问答并解释了如何实现这一点,但我的问题是如何使用此方法并使用UISlider更改播放器当前时间:
stopPlayingAndSeekSmoothlyToTime(newChaseTime:CMTime)
这是我的代码:
//Play Intro Movie
let videoURL = Bundle.main.url(forResource: "intro", withExtension: "mp4")
player = AVPlayer(url:videoURL!)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.view.frame
view.layer.addSublayer(playerLayer)
//videoPlayer.play()
view.addSubview(slider)
slider.maximumValue = 0
slider.maximumValue = Float(CMTimeGetSeconds((player.currentItem?.asset.duration)!))
Run Code Online (Sandbox Code Playgroud)
这是Apple示例代码:
func stopPlayingAndSeekSmoothlyToTime(newChaseTime:CMTime)
{
player.pause()
if CMTimeCompare(newChaseTime, chaseTime) != 0
{
chaseTime = newChaseTime;
if !isSeekInProgress
{
trySeekToChaseTime()
}
}
}
func trySeekToChaseTime()
{
if playerCurrentItemStatus == .unknown
{
// wait until item becomes ready (KVO player.currentItem.status)
}
else if playerCurrentItemStatus …Run Code Online (Sandbox Code Playgroud)