Adobe Flash - 访问可能的未定义属性COMPLETE

时间:2016-05-09 19:01:04

标签: actionscript-3 flash actionscript flash-cs6

我想在flash中循环播放一些视频,但是当我尝试运行它时,我找到了这个代码但是“通过带有静态类型类的引用访问可能未定义的属性COMPLETE”。

video.source="video.flv";
import fl.video.*;
function onFLVCOMPLETE(event:VideoEvent):void{
            event.target.play();
}
video.addEventListener(VideoEvent.COMPLETE, onFLVCOMPLETE);

不知道发生了什么,所以任何帮助都会很棒

1 个答案:

答案 0 :(得分:2)

修改

这就是发生的事情:

FlashPro / Adob​​eAnimate IDE会自动导入flash.events包(无论您是否已明确告知它)。执行此操作时,flash.events.VideoEvent类会将导入的fl.video.VideoEvent类替换为使用VideoEvent时引用的类。

要解决此问题,您只需使用完全限定的类名。所以不要使用:

 VideoEvent

您使用:

fl.video.VideoEvent

所以你的代码应该是这样的:

function onFLVCOMPLETE(event:fl.video.VideoEvent):void{
            event.target.play();
}
video.addEventListener(fl.video.VideoEvent.COMPLETE, onFLVCOMPLETE);

要测试此行为,您需要在时间轴上创建一个包含以下代码的新FlashPro项目:(您还需要将一个视频组件添加到库中)

import fl.video.VideoEvent;
trace(flash.utils.getQualifiedClassName(VideoEvent));

输出窗口中的预期结果为fl.video::VideoEvent,但实际结果为:

  

flash.events::VideoEvent

即使您只导入了fl.video.VideoEventVideoEvent也指的是flash.events.VideoEvent(未导入)。