从AS3迁移到AIR,flvPlayback VideoEvent错误

时间:2013-02-01 22:41:31

标签: actionscript-3 air

这是我第一次在这里发帖,这是我的问题:(对不起我的英语)
我有一个在Flash AS3中编程的桌面应用程序(不是AIR),并希望迁移到AIR,因为我看到你可以控制文件和我需要的其他东西。问题是在TimeLine上进行了所有编程(我从未编写过类,并且真的让我感到害怕),所以我在一个帧中的主脚本中有大约2200行代码。
当我将proyect传递给AIR并尝试运行它时,我遇到了很多错误。我在互联网上搜索但没有找到答案。我不知道我做错了什么...为什么如果我用SWF文件运行我的应用程序它可以工作,但是当我为AIR编译时我遇到了这些错误。
这里,代码:

var myVideo:FLVPlayback;
function CreateFLVPlayback():void {
    myVideo = new FLVPlayback(); //FLVPlayback.
    //Configuration and Listeners:
    myVideo.addEventListener(VideoEvent.COMPLETE, RepeatFLVPlayback); //1st ERROR
    myVideo.addEventListener(VideoEvent.READY, ReadyFLVPlayback); //2nd ERROR
    myVideo.addEventListener(VideoEvent.STATE_CHANGE, StateChangeFLVPlayback ); //3rd
}
// [ ... more code ...]
function StateChangeFLVPlayback(e:VideoEvent ):void {
    var videoPlayer:FLVPlayback = e.target as FLVPlayback;
    if (e.state == VideoState.CONNECTION_ERROR) {   ///Line of the 4th ERROR
        trace("No se encontró el video: "+myVideo.source );
    }
}
  • Escena 1,Capa' Acciones',Fotograma 3,Línea8381119:Acceso a una propiedad COMPLETE posiblemente no definida mediante una referencia contiposstáticoClass。
  • Escena 1,Capa' Acciones',Fotograma 3,Línea8391119:Acceso a una propiedad READY posiblemente no definida mediante una referencia contiposstáticoClass。
  • Escena 1,Capa' Acciones',Fotograma 3,Línea8401119:Acceso a una propiedad STATE_CHANGE posiblemente no definida mediante una referencia contiposstáticoClass。
  • Escena 1,Capa'Eciones',Fotograma 3,Línea870 - 1119:Acceso a una propiedad state posiblemente no definida mediante una referencia contiposestáticoeflact.events:VideoEvent。

这里有相同的英语错误(使用谷歌翻译):

  • 场景1,层'动作',第3帧,第838行1119:通过具有静态类型Class的引用访问可能未定义的属性COMPLETE。
  • 场景1,层'动作',第3帧,第839行1119:可能通过具有静态类型Class的引用访问未定义属性READY。
  • 场景1,层'动作',第3帧,第840行1119:可能通过具有静态类型Class的引用访问未定义的属性state_change。
  • 场景1,层'动作',第3帧,第870-1119行:通过静态类型flash.events:VideoEvent的引用访问可能未定义的状态属性。

3 个答案:

答案 0 :(得分:0)

对于完整的活动,请尝试以下,

 myVideo.addEventListener(Event.COMPLETE, RepeatFLVPlayback);

 function RepeatFLVPlayback(e:Event):void
 {
      //Your code
 }

READY,STATE_CHANGE在AIR 2.0中为我工作,

import fl.video.VideoEvent;

答案 1 :(得分:0)

这种方式有效!不知道为什么!

myVideo.addEventListener("complete", RepeatFLVPlayback);
myVideo.addEventListener("ready", ReadyFLVPlayback);

答案 2 :(得分:0)

我遇到了同样的问题,但只有AIR for Android。 我花了很多时间来解决这个问题,最后这对我有所帮助:

display.addEventListener(Event.COMPLETE, koniec);
function koniec(e:Event):void
{
    display.stop();
    MovieClip(root).gotoAndPlay(3);
}

所以没有VideoEvent而是事件。