我在使用 AVPlayer.seekToTime 进行查找时遇到问题,我有一个想要在scrollViewDidScroll 方法中查找的时间索引,如下所示:
func scrollViewDidScroll(scrollView: UIScrollView) {
let offsetTime = scrollView.contentOffset.y * 0.1
self.playerController.player?.seekToTime(CMTime(seconds: Double(offsetTime), preferredTimescale: 10), toleranceBefore: kCMTimePositiveInfinity, toleranceAfter: kCMTimeZero)
}
但视频不流畅。例如,当您滚动时,我希望视频仅向前移动 0.01 秒(我的视频非常短,只有大约 2.0 秒长),但是当您滚动足够远时,视频会向前移动几乎一整秒。它真的很不稳定,我不知道为什么我不能寻求像 1.00 秒到 1.01 秒这样的时间并让图像代表玩家移动的时间索引。这可能吗?我究竟做错了什么?请帮忙!
PS:如果这有帮助的话,我从不调用 self.playerController.player?.play()
可能是你之前的宽容度没设置好。尝试以下方法:
而不是你的代码:
let offsetTime = scrollView.contentOffset.y * 0.1
let seekTime : CMTime = CMTimeMake(Double(offsetTime), 1000)
self.playerController.player?.seekToTime(seekTime, toleranceBefore: kCMTimeZero, toleranceAfter: kCMTimeZero)
- 时间刻度告诉你每秒有多少个单位
- 另外,toleranceBefore 也应该是 kCMTimeZero
希望这可以帮助 :-)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)