我有一段錄製的視頻片段,我想反向播放。使用AVPlayer和Swift在IOS上反向播放視頻9
向前播放很好,但只要我尋找視頻文件的結尾並將播放速率設置爲-1.0,則視頻剪輯將搜索到剪輯的結尾(我在時間軸上方視頻),但不會反向播放。
我目前的播放器視圖控制器我檢查它是否已準備好使用後:
print("readyForDisplay = \(playerViewController.readyForDisplay)")
這告訴我,一切都準備準備玩。
我是否反轉劇是可能的:
let reversePlay = playerViewController.player!.currentItem?.canPlayReverse
print("reversePlay = \(reversePlay)")
返回true
我再求剪輯的結束和速率設置播放到-1.0反轉劇。
playerViewController.player!.seekToTime(playerViewController.player!.currentItem!.asset.duration)
playerViewController.player!.rate = -1.0
我相信走到這一步已經準備好,因爲玩,如果我添加以下內容:
let status : AVPlayerItemStatus? = playerViewController.player!.currentItem?.status
if status == AVPlayerItemStatus.ReadyToPlay {
print("Ready to play")
}
這表明我的剪輯是準備玩,所以我假設尋求剪輯結束(僅2秒鐘)完成。
我再播放的剪輯:
playerViewController.player!.play()
它起着很好,如果我不求末,並試圖改變速度將其設置爲退播放。
缺少什麼我在這裏?
是否因爲在最後立即被解僱?你試過'seekToTime'到中間的一個地方嗎?如果這是問題,你可以將它設置爲1-2秒。 – Tim
@ Headstock67請注意,在檢查canPlayReverse並將播放速率設置爲-1後,您需要使用reversePlaybackEndTime來檢查結束時間 –
感謝Tim的建議。我將seekToTime用於視頻剪輯的中間。當它彈奏到中間,然後繼續向前播放。因此將播放速率設置爲-1.0似乎不會強制反向播放。 – Headstock67