【问题标题】:iPhone Smooth Transition from One Video To AnotheriPhone 从一个视频到另一个视频的平滑过渡
【发布时间】:2010-08-04 21:31:11
【问题描述】:

我必须找出从一个视频过渡到下一个视频的最佳方式

基本思想:一个例子是一个人走路的视频......用户点击视频,然后无缝过渡到一个人跑步的视频(简化示例)

我的第一个想法是创建 2 个电影播放器​​并在 2 个视图元素之间使用过渡。但电影播放器​​不支持。

停止当前视频,加载新内​​容,然后启动它是一种解决方案,但不是很优雅。我们正在为我们的代表制作一个交互式销售工具,我们希望它看起来尽可能专业。

当前想法:如果有一些 AVPlayer 的示例代码,我似乎可以使用 AVVideoComposition 在视频之间切换?但目前似乎没有关于如何发生这种情况的详细信息。

可能的线索:我认为这很容易,因为我购买了一个名为 Live Cams HD 的应用程序,它可以同时显示 16 个不同的视频源。

有什么想法吗?提前致谢!

【问题讨论】:

  • 在 iOS 4.1 中首次亮相的 AVQueuePlayer 似乎是一个自然的解决方案,但我仍然无法从一个剪辑平滑过渡到下一个剪辑。
  • 这个问题有什么进展吗?
  • 您必须将队列播放器的 actionAtItemEnd 设置为 AVPlayerActionAtItemEndAdvance 并且队列中同时至少有两个相同视频(AVPlayerItem)的副本,以便队列播放器可以正确前进到下一个项目本身。中间会有短暂的闪光,但我发现可以通过将父视图的背景设置为视频第一帧的屏幕截图来轻松修复。

标签: iphone video


【解决方案1】:

史蒂夫,简短的回答是,您将无法使用 AVPlayer 获得您想要的结果。 iOS 中包含的 h.264 视频逻辑非常适合同时播放视频和视频/音频,但在开始/停止以及从一个剪辑切换到另一个剪辑时确实很糟糕。原因是在硬件中加载并开始播放 h.264 视频需要进行大量缓冲。基本上,您需要滚动您自己的代码,为您的视图设置 UIImage/CGImageRef,以便通过简单地从一个 UIImage 对象数组切换到另一个,轻松地从一个剪辑切换到另一个剪辑。当然,说起来容易,实现起来却不是那么容易。

我的建议是评估已经实现此逻辑的现有代码,而不是自行编写。例如,看看这个StreetFighter 演示应用程序。它展示了如何使用一系列剪辑来构建像 iPhone UI 这样非常简单的游戏,这些剪辑展示了一个角色踢、拳或扔火球。结果如下所示:

我还写了一篇关于seamless-video-looping-on-ios 的博文。您当然可以编写自己的代码来完成所有这些操作,但我建议您在链接的网站上阅读更多关于我的库的信息,因为它会为您节省大量时间。

【讨论】:

【解决方案2】:

在第一个视频播放完除最后一帧之外的每一帧后,您快速切换到带有最后一帧(基本上是最后一帧)图像的视图,然后转换到带有第一帧图像的视图播放下一个视频并启动该视频。

或者您可以创建一个包含所有帧的动画(对您的视频进行编程),这将使其可自定义,但质量可能不会那么好,并且 cpu 使用率可能会飙升,因此您必须拨打电话那个。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-18
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多