带有"double"进度条的视频播放器(视频加载/视频播放进度)



我正在实现一个基于Flex 3的FLV视频播放器,我想添加一个类似于YouTube播放器的功能。

我希望进度条既显示视频显示进度,也显示视频加载状态。我该如何实施这种行为?

使用两个进度条叠加在一起?我也在使用Flexmx:VideoDisplay组件,我需要更改吗?

是的,您应该在背景中放置两个条形图,在前面放置当前位置条形图。

但最终,这比使其完全发挥作用要多得多。。。我将创建一个实现所有栏/滑块功能的新类。

laoder只监听update(val)以设置其百分比的新值。播放栏将需要一些点击和mousedown/mousemove的功能来进行查找,并需要再次设置更新功能,包括在用户交互后在播放器中触发查找的事件。

然后将加载条更新绑定到玩家的进度事件所有事件都可以在这里找到

//setting up loadingbar
player.addEventListener(ProgressEvent.PROGRESS,slider_update);

//function to update the slider
private function slider_update(E:ProgressEvent):void{
var percentage:float = 0;
if(E.bytesTotal != 0){
E.bytesLoaded/E.bytesTotal
}
slider.update(percentage)
}

与当前播放栏的几乎相同

//listens to statechanges of the player to handle updates for cur-pos
player.addEventListener(VideoEvent.PLAYHEAD_UPDATE, checkStatechange);
private function checkStatechange(E:VideoEvent):void{
if(player.totalTime!=0){
timeSlider.update(E.playheadTime/E.totalTime);
};

继续点击绑定以立即设置搜索-鼠标向下移动以使视频滚动成为可能。。。实际上,对于mousedown的seek,mousemove应该在舞台上监听,所以mouseUp,否则用户在搜索时必须留在加载栏上,这在大多数情况下都是不可能处理的;)-玩得开心}

最新更新