具有“双”进度条的视频播放器(视频加载/视频播放进度)

问题描述 投票:0回答:1

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

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

在彼此的顶部使用2个进度条?我也使用Flex mx:VideoDisplay组件,我需要更改吗?

actionscript-3 flex progress-bar flex3
1个回答
1
投票

是的,您应该在放置着陆栏的背景中将两个条形放在彼此的顶部,而在前面放置当前位置条。

但最后这比使它完全正常运行的工作要多一些......我会创建一个实现所有条形/滑块功能的新类。

该载荷仅监听更新(val)以将其新值设置为百分比。播放栏将需要点击和mousedown / mousemove上的一些功能,以寻求和再次设置更新功能,包括在玩家后期用户交互中触发搜索的事件。

然后将加载栏更新绑定到播放器的progress事件可以在此处找到所有事件

//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)
}

使用当前的playbar它几乎是一样的

//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的搜索,mousemove应该在舞台上监听所以mouseUp否则用户必须留在加载栏上寻求这种情况在大多数情况下几乎不可能处理;) - 很有趣}

© www.soinside.com 2019 - 2024. All rights reserved.