【问题标题】:Migrate from AS3 to AIR, flvPlayback VideoEvent Error从 AS3 迁移到 AIR,flvPlayback VideoEvent 错误
【发布时间】:2013-04-04 01:24:53
【问题描述】:

这是我第一次在这里发帖,这是我的问题:(对不起我的英语)
我有一个用 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 Class。
  • 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 的引用访问可能未定义的状态属性。

【问题讨论】:

  • import flash.events.VideoEvent 添加到代码顶部
  • 我已经写了这个,但是错误并没有消失。 ://
  • import fl.video.*怎么样
  • 我尝试了这两个选项,但都不起作用。 :(
  • 只是为了澄清 Ronnie 的建议,有 3 个 VideoEvent 类。因此,请确保您的导入语句是正确的。定义您正在使用的常量(COMPLETEREADYSTATE_CHANGE)的事件是 fl.video.VideoEvent。如果您在导入语句中使用通配符,请尝试删除它们并专门执行import fl.video.VideoEvent;。在这种情况下避免使用通配符,以确保编译器不会选择错误的 VideoEvent。

标签: actionscript-3 air


【解决方案1】:

如需完整活动,请尝试关注,

 myVideo.addEventListener(Event.COMPLETE, RepeatFLVPlayback);

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

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

导入 fl.video.VideoEvent;

【讨论】:

  • 我使用 AIR 2.5 insted of AIR 2.6 编译了应用程序并且工作正常!谢谢大家。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

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

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

    所以没有 VideoEvent 而只是 Event。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-24
      • 2011-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多