2

这是我第一次在这里发帖,这是我的问题:(对不起我的英语)
我有一个用 Flash AS3 编程的桌面应用程序,(不是 AIR)并且想迁移到 AIR,因为我看到你可以控制文件和我需要的其他东西。问题是所有都在 TimeLine 上编程(我从来没有用类编程过,真的让我有点害怕),所以我在主脚本中有大约 2200 行代码都在一帧中。
当我将项目传递给 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ínea 838 1119: Acceso a una propiedad COMPLETE posiblemente no definida mediante una referencia con tipo estático Class。
  • Escena 1, Capa 'Acciones', Fotograma 3, Línea 839 1119: Acceso a una propiedad READY posiblemente no definida mediante una referencia con tipo estático 类。
  • Escena 1, Capa 'Acciones', Fotograma 3, Línea 840 1119: Acceso a una propiedad STATE_CHANGE posiblemente no definida mediante una referencia con tipo estático Class。
  • Escena 1, Capa 'Acciones', Fotograma 3, Línea 870 - 1119: Acceso a una propiedad state posiblemente no definida mediante una referencia con tipo estático flash.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 的引用访问可能未定义的状态属性。
4

3 回答 3

0

对于完整的事件,请尝试以下,

 myVideo.addEventListener(Event.COMPLETE, RepeatFLVPlayback);

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

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

导入 fl.video.VideoEvent;

于 2013-02-19T05:51:31.423 回答
0

我有同样的问题,但只有 AIR for Android。我为这个问题挖掘了好几个小时,最后这对我有所帮助:

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

所以没有 VideoEvent 而只是 Event 。

于 2013-04-03T17:24:53.023 回答
0

这样就可以了!不知道为什么!

myVideo.addEventListener("complete", RepeatFLVPlayback);
myVideo.addEventListener("ready", ReadyFLVPlayback);
于 2013-03-06T19:41:04.077 回答