我有一段录制的视频片段,我想反向播放。使用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