我正试图为我遇到的一个问题找到解决办法。我有5个UIView,它们都在同一个位置。每个UIView都有一个带有不同视频的AVPlayer。更准确地说,它们都是相同的视频,但以不同的播放速度编码。
默认情况下,视频1是可见的和播放的,但是我应该能够在视频之间切换,但是切换不应该对用户可见,因此,我需要保持它们的同步。所以,如果我正在看视频1,切换到视频2,那么视频2应该正好在视频1停止的位置播放。
感觉是它应该看上去像,视频在动作后正在加速。一种闪烁的手势。
我希望我的问题描述得足够好,我非常感谢任何建议。
发布于 2014-05-09 09:22:52
最后,我使用了一个观察者,它每5秒拍摄一次currentTime的快照,并使用seekToTime方法调用所有其他AVPLayer。这可以很好地保持它们的同步。我只需要适应不同速度的每个球员的CMTime。举个例子,我看到了4x视频:
videoPosition = player1.currentTime; //gets the video duration
videoPositionInSeconds = (Float64) videoPosition.value/videoPosition.timescale; //transfers the CMTime duration into seconds
[player2 seekToTime: CMTimeMakeWithSeconds(videoPositionInSeconds/4.0, player1.currentItem.asset.duration.timescale) toleranceBefore: kCMTimeZero toleranceAfter: kCMTimeZero];希望这能有所帮助。
https://stackoverflow.com/questions/23273845
复制相似问题