当外部播放的FLV达到第N帧或百分比时如何反应?

时间:2011-04-08 18:46:25

标签: actionscript-3 events flv

我正在制作这个自定义视频播放器。当外部播放的flv文件到达电影中的某个点而不在flv文件上嵌入一些额外的数据时,我需要一些方法来做出反应。我正在寻找这个,因为我想在电影的90%-99%点做出反应,因为我不喜欢我在流完成播放时做出反应时的行为(我想早一点)。我如何实现这一目标?

我很惊讶Adobe没有记录传递onMetaData和onCuePoint之类的对象结构...

2 个答案:

答案 0 :(得分:1)

你可以用一点点数学来达到这个目的。游戏头的位置除以持续时间乘以100。

如果值大于90,则会触发您的活动。

((p / d) * 100)

答案 1 :(得分:1)

您可以通过以影片剪辑的长度编程设置提示点,然后为其创建事件侦听器来完成此操作。

var endpoint:Number = flvPlayer.metadata.duration*.95; //95% of the video length
flvPlayer.addASCuePoint(endpoint, "endpoint");

flvPlayer.addEventListener(MetadataEvent.CUE_POINT, registerCuePoints);

function registerCuePoints(myEvent:MetadataEvent) {
    if(myEvent.info.name == "endpoint") {
    // you've reached your cue point, not something embedded in the video.
    }
}