0

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

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

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

4

1 回答 1

1

是的,您应该在背景中放置两个条相互重叠放置laodingbar,在前面放置当前位置条。

但最后,这比看起来要使其功能齐全要多一些工作......我将创建一个实现所有条形/滑块功能的新类。

laoder 只监听 update(val) 以设置其新的百分比值。播放栏将需要一些单击和鼠标按下/鼠标移动功能以进行搜索和重新设置更新功能,包括在用户交互后触发播放器搜索的事件。

然后你将加载栏更新绑定到播放器的进度事件所有事件都可以在这里找到

//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 和移动以使视频滚动成为可能...实际上对于使用 mousedown 进行搜索,mousemove 应该在舞台上侦听,因此 mouseUp 否则用户必须留在加载栏上虽然在大多数情况下寻求这个是几乎不可能处理的;) - 玩得开心}

于 2012-09-27T12:03:18.250 回答