首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >同步多AVPlayers

同步多AVPlayers
EN

Stack Overflow用户
提问于 2014-04-24 15:52:21
回答 1查看 1.6K关注 0票数 3

我正试图为我遇到的一个问题找到解决办法。我有5个UIView,它们都在同一个位置。每个UIView都有一个带有不同视频的AVPlayer。更准确地说,它们都是相同的视频,但以不同的播放速度编码。

  1. 视频1x速度
  2. 视频4x速度
  3. 视频8x速度
  4. 视频16x速度
  5. 视频24x速度

默认情况下,视频1是可见的和播放的,但是我应该能够在视频之间切换,但是切换不应该对用户可见,因此,我需要保持它们的同步。所以,如果我正在看视频1,切换到视频2,那么视频2应该正好在视频1停止的位置播放。

感觉是它应该看上去像,视频在动作后正在加速。一种闪烁的手势。

我希望我的问题描述得足够好,我非常感谢任何建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-09 09:22:52

最后,我使用了一个观察者,它每5秒拍摄一次currentTime的快照,并使用seekToTime方法调用所有其他AVPLayer。这可以很好地保持它们的同步。我只需要适应不同速度的每个球员的CMTime。举个例子,我看到了4x视频:

代码语言:javascript
复制
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];

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23273845

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档