2011-02-17 47 views
0

我正在为LongtailVideo JW播放器写一个插件,它是AS3。我得到了一个听众获取当前的播放时间和一个Timer()计算视频播放的秒数(我开始 - 停止缓冲区上的Time(),暂停...)AS3输入非真如果

事情是,我需要一旦播放时间达到30秒,就会触发另一个事件,所以我使用获取播放时间的侦听器(不断发射),并检查Timer()的值是否为30,如果是,我会我的东西,如果没有,没有。

这是代码片段:

private function countCheck(event:MediaEvent):void {    
     if(timeCounter.currentCount == 30){ 
      ExternalInterface.call("console.log" , "Time elapsed " + timeCounter.currentCount); 
     } 
    }  

timeCounter已被宣布为定时器,它的工作好了,事情是,它进入,如果(和显示日志),即使timeCounter.currentCount不是30 ,我不知道我做错了什么!

这是控制台输出:

Time elapsed 0 
Time elapsed 0 
Time elapsed 30 (5x) 

我不介意重复一次,我到了30,我可以添加一个标志,并做动作只有一次。

有什么想法?

编辑:我重新编译使用Flash CS4,它工作正常,很奇怪。我认为Christophe Herreman是对的,改变环境改变了缓存,所以它工作。

+0

基于控制台的输出结果,是从0,0,30跳?你有没有试过从闪存运行调试器,看看它在踢什么东西? – TNC 2011-02-17 10:29:37

+0

要获得调试器,我需要安装Flash,对吧?我正在使用Flex SDK编译AS。它在0上进入两次,然后在30上再次进入。有时它在31上也是这样,这很奇怪!我将尝试使用Flash调试器。 – Adirael 2011-02-17 10:34:05

回答

1

您是否试图清理您的项目?它看起来可能是一个缓存版本的代码仍在运行。

(张贴这是我的意见后答案似乎解决该问题)