Это код, связанный с панорамированием/скручиванием видео. Текущая проблема возникает, когда второй этап имеет дельта от последней позиции первого прокрутки. Другими словами, этот код должен учитывать текущее время видео для предотвращения пропусков.Учет текущего времени при панорамировании для очистки видео
`` `
func didSwipe(panGR: UIPanGestureRecognizer) {
let translation = panGR.translationInView(self.view)
var horizontalTranslation = Float(translation.x)
let durationInSeconds = Float(CMTimeGetSeconds(self.playerView.player.player.currentItem!.asset.duration))
// Using 275 as the limit for delta along x
let translationLimit: Float = 275
let minTranslation: Float = -1 * translationLimit
let maxTranslation: Float = translationLimit
if horizontalTranslation > maxTranslation {
horizontalTranslation = maxTranslation
}
if horizontalTranslation < minTranslation {
horizontalTranslation = minTranslation
}
let timeToSeekTo = normalize(horizontalTranslation , minDelta: minTranslation, maxDelta: maxTranslation, minDuration: 0, maxDuration: durationInSeconds)
print("horizontal translation \(horizontalTranslation) \n timeToSeekTo: \(timeToSeekTo)")
self.playerView.player.startScrubbing()
self.playerView.player.scrub(timeToSeekTo)
self.playerView.player.stopScrubbing()
}
func normalize(delta: Float, minDelta: Float, maxDelta: Float, minDuration: Float, maxDuration: Float) -> Float {
let result = ((delta - minDelta) * (maxDuration - minDuration)/(maxDelta - minDelta) + minDuration)
return result
}
` ``
я устанавливаю время начала быть ровно в половину длины видео. Это дает хороший первый результат салфетки в любом направлении. Он имеет заметный пропустить второй и последующий щелчки, потому что он не учитывает текущее время видео (я думаю).
FYI функция нормализации была взята из ответа Джеймса Буша здесь http://stackoverflow.com/questions/26046946/pan-to-seek-avplayer/38770643?noredirect1_comment65610546_38770643 –
У меня такая же проблема, как и вы были здесь и разместили вопрос о SO: http://stackoverflow.com/questions/40363371/pan-gesture-with-avplayer. Не могли бы вы опубликовать код здесь или в моем вопросе с решением этого? Это было бы очень полезно! Спасибо за ваше время. – JEL