【发布时间】:2014-09-16 14:02:57
【问题描述】:
我正在使用 Vimeo 的 Flash API,以便我可以使用 playProgressHandler 嵌入和读取视频的时间码、在特定时间暂停、弹出菜单以及使用触发 seekTo 调用的按钮。尽管一切正常,但时间码在不同程度上不准确。 1-2秒不等。我可以这么说是因为:
1) 如果我在 Vimeo 上播放我的视频并在 6:03 暂停,然后将其嵌入 Flash 中执行相同操作,则视觉效果不匹配。 Flash 有点落后。
2) 我使用 JavaScript API 进行了测试。我的 seekTo 调用始终准确。为了使用 AS3 API 寻找相同的位置,我必须增加 1.5 秒。但即使这样也不是万无一失的。有时它可以工作,但有时它仍然关闭。
任何想法会导致这种不准确以及如何解决这个问题?是的,我可以放弃 AS3 并使用 JS 版本,但我更愿意修复我已经构建的内容。
(我也在 Vimeo 的论坛上发布了这个,但我正在关注他们建议在此处发布的“API 论坛中的有限支持”帖子)
【问题讨论】:
-
你能分享任何代码吗?最好是一段可以执行的快速示例代码。
-
我不确定是否要分享我客户的代码,所以我尝试使用 Vimeo 的 ExampleProject.as 文件(这是我为这个项目开始的文件)为您制作一个简单的示例并添加一个按钮寻求某一点。我创建了一个 JS 版本来测试它。不幸的是,我无法复制时间码问题,可能是因为他们的示例视频长约 30 秒,而我的则超过 30 分钟。我确实尝试过这个elwinlee.com/blog/2012/02/…,但没有任何运气。所以我想此时我只是在寻找理论。
-
这可能是关键帧的问题。您可能不会跳到特定时间点,而是跳到您想要的时间最近的关键帧(比如您想跳到 6.5 秒,但最近的关键帧是 7.1 秒)。我无法提供更多信息,但请牢记这一点。
-
有趣的是,如果我在寻找另一个时间码之前 seekTo(0) 似乎可以消除不准确之处。我不知道这种不准确性是在电影播放过程中发生的累积性事件,还是某种缓冲故障。不幸的是,如果搜索次数过多,seekTo 机制就会完全中断。那好吧。我猜这个过时且无人维护的 API 已经到了生命周期的尽头。
-
Vimeo 的 Flash API 适用于他们的播放器。对于他们的播放器,您使用 developer.vimeo.com/player/as-api
标签: actionscript-3 flash vimeo vimeo-api vimeo-player