首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将FLVPlayback组件重置为同源播放

将FLVPlayback组件重置为同源播放
EN

Stack Overflow用户
提问于 2009-12-31 23:13:36
回答 2查看 3.7K关注 0票数 1

我使用相同的FLVPlayback组件在我正在构建的一个大型flash站点中播放许多页面过渡视频。在每次转换时,我都使用myFLVPlayback.source设置组件的源,并在继续执行每个页面转换之前侦听fl.video.VideoEvent.READY事件。只要每一对页面之间的过渡使用不同的视频,这就可以很好地工作。

不幸的是,当相同的页面到页面转换视频需要调用两个连续的转换时,我遇到了一个问题。在连续播放同一个视频两次时,将组件的source属性设置为已有的值似乎没有任何作用,这意味着我的fl.video.VideoEvent.READY侦听器永远不会触发。我可以做一些老套的事情,比如将source设置为一个很小的、从未在其他地方使用过的FLV,然后再将它设置为我实际用于转换的FLV,作为一种“重置”组件的方法,但我想知道在这种情况下的最佳实践是什么(就像FLVPlaybackComponent这样的最佳实践可以一本正经地讨论)。

我仔细阅读了组件的livedocs,但一无所获,而且在这么晚的阶段手动使用NetStream、NetConnection和视频对象并不是一个真正的选择。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-31 23:23:18

我建议使用一个线束来检查你要播放的URL是否与上一次转换的URL相同,如果是,只需查找(0)(即倒带视频),而不是重置源。重置源可能会强制重新加载视频(例如,如果禁用了浏览器缓存),而这可能不是您想要的。

代码语言:javascript
运行
复制
if (myFlvPlayback.source == nextTransitionUrl) {
  myFlvPlayback.seek(0);
  startTransition();
}
else {
  myFlvPlayback.source = nextTransitionUrl;
  // The "ready" event will fire, and your event handler will start playback
}

看一看FLVPlayback.seek()方法。

干杯

票数 3
EN

Stack Overflow用户

发布于 2010-05-19 21:43:39

看起来这个问题已经解决了一段时间了,但我想我还是加入进来吧。要准确地模拟您所描述的行为,您可以检查源是否为指向下一个URL的==,然后直接在flvPlayback实例上调用dispatchEvent。这样,它的行为就像URL不同时一样,您必须编写代码的唯一手动干预就是检查URL是否为==。

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

https://stackoverflow.com/questions/1985777

复制
相关文章

相似问题

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