gpt4 book ai didi

ios - 同步多个 AVPlayer

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:18:23 25 4
gpt4 key购买 nike

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

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

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

意思是它应该看起来像,视频在某个 Action 之后正在加速,例如。轻弹手势。

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

最佳答案

我最终使用了一个观察者,它拍摄了 currentTime 的快照每 5 秒,并调用所有其他 AVPLayerseekToTime方法。这可以很好地使它们保持同步。我只需要调整 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];

希望这对您有所帮助。

关于ios - 同步多个 AVPlayer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23273845/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com