Actionscript 3 FLVPlayback剪辑加载延迟
我正在Flash/AS3中构建一个叙述性的点击式信息亭应用程序。目前,我正在将几个(10+)本地加载的.flv文件加载到时间轴上的FLVPlayback组件中。我正在经历加载延迟,我想知道这种情况下的最佳实践/最佳情况是什么。这些都使用“加载带有播放组件的外部视频”选项进行视频导入 到目前为止,我尝试了两种方法来实现它:Actionscript 3 FLVPlayback剪辑加载延迟,actionscript-3,flash,video,loading,flvplayback,Actionscript 3,Flash,Video,Loading,Flvplayback,我正在Flash/AS3中构建一个叙述性的点击式信息亭应用程序。目前,我正在将几个(10+)本地加载的.flv文件加载到时间轴上的FLVPlayback组件中。我正在经历加载延迟,我想知道这种情况下的最佳实践/最佳情况是什么。这些都使用“加载带有播放组件的外部视频”选项进行视频导入 到目前为止,我尝试了两种方法来实现它: 在名为“video_player”的舞台上进行一帧、一个FLVPlayback播放,然后点击/用户操作切换视频,我执行以下操作: var new_flv:String = "n
var new_flv:String = "next_flv.flv";
video_player.stop();
video_player.source("_flvs/"+new_flv);
video_player.seek(0);
video_player.play();
这会导致从几秒到10秒的延迟任何提示或最佳实践都非常感谢。尽管您没有告诉我flv文件从何处加载(本地或远程),并且正如您所说的,您正在构建一个kiosk风格的应用程序,但我将在这里冒险说,您几乎肯定应该使用AdobeAIR作为kiosk应用程序 没有理由创建多个
FLVPlayback
实例,它可以使用getVideoPlayer(index)
播放多个视频,您可以通过调用close()
来管理流
如果您是远程加载文件,那么使用Adobe AIR,您可以使用
FileStream
类将每个视频下载到本地文件夹。这将加快播放这些文件的过程。在第一行中,我提到了“几个(10+)本地加载的.flv文件”。是的,在当地。这就是我对如此长的加载时间感到困惑的原因。让fla发布到.air应用程序而不是.swf会导致加载时间缩短吗?此外,我还添加了更多代码:FLV的切换。不过这很有用;我想我一直认为FLVPlayback只是一个视频播放器,而不是一个流管理组件。我建议AIR的原因是因为它是一个桌面运行时,因此不需要浏览器,您可以调用GC,而这是无法在浏览器中完成的。我不明白为什么加载时间会更快,但在任何一种环境中都不应该花费10秒。使用一个组件并在不使用框架的情况下管理文件应该可以解决您的问题。
var new_flv_frame_name:String = "next_frame";
this.gotoAndStop(new_flv_frame_name);
this.video_player.play();