如何在 Haxe 中创建动作脚本对象

Posted

技术标签:

【中文标题】如何在 Haxe 中创建动作脚本对象【英文标题】:How to create an actionscript Object in Haxe 【发布时间】:2012-04-10 07:40:26 【问题描述】:

我正在 Haxe 中创建一个动作脚本视频播放器,为了避免 asyncError,我正在尝试创建一个自定义对象。 Haxe 我该怎么做?

客户端属性指定调用回调方法的对象。默认对象是正在创建的 NetStream 对象。如果将客户端属性设置为另一个对象,则会在该对象上调用回调方法。

这是我的代码。

public function new() 

    super();
    trace("video");
    //initialize net stream
    nc = new NetConnection();
    nc.connect(null);
    ns = new NetStream(nc);
    buffer_time = 2;
    ns.bufferTime = buffer_time;

    //Add video to stage
    myVideo = new flash.media.Video(640, 360);
    addChild(myVideo);

    //Add callback method for listeing on NetStream meta data
    client = new Dynamic();
    ns.client = client;
    client.onMetaData = metaDataHandler;




public function playVideo(url:String)

    urlName = new String(url);
    myVideo.attachNetStream(ns);
    ns.play(urlName);
    ns.addEventListener(NetStatusEvent.NET_STATUS, netstat);


function netstat(stats:NetStatusEvent)

    trace(stats.info.code);


function metaDataHandler(infoObject:Dynamic) 

    myVideo.width = infoObject.width;
    myVideo.height = infoObject.height;

【问题讨论】:

您尝试过使用 吗?如客户端 = ; 【参考方案1】:

你应该这样做:

client : Dynamic = ;

【讨论】:

谢谢!你有没有在 haxe 中播放 .flv 的例子? 我最终使用了 ns.client = this;我现在没有收到任何错误,但似乎仍然无法播放视频。有教程吗?【参考方案2】:

忘记客户端对象;播放 FLV 或处理异步错误不是必需的。为此,只需为 AsyncErrorEvent.ASYNC_ERROR 添加一个侦听器到 NetStream

我建议你为NetStatusEvent.NET_STATUSNetConnectionNetStream添加一个监听器,然后在监听器中追踪event.info.code的值。

您应该首先看到来自 NetConnection 的字符串“NetConnection.Connect.Success”;当您通过 NetStream 播放视频时,如果加载 FLV 出现问题,您应该会看到“NetStream.Play.StreamNotFound”。否则,您应该会看到“NetStream.Play.Start”。

除非您逐步流式传输 FLV,否则在文件完成加载之前,您可能看不到任何视频正在播放。如果电影文件很长,这可以解释为什么您的程序运行没有错误但没有播放电影。在跟踪问题时,您可能希望使用在线提供的小型测试 FLV 文件。

(ActionScript 的 FLV 播放 API 很奇怪,而 haXe 的文档很简陋,所以你有理由感到沮丧。)

【讨论】:

【参考方案3】:

这可能有用...http://code.google.com/p/zpartan/source/browse/zpartan/media/ 你可以看到它正在使用 http://code.google.com/p/jigsawx/

【讨论】:

以上是关于如何在 Haxe 中创建动作脚本对象的主要内容,如果未能解决你的问题,请参考以下文章

如何在 n 层架构中创建集线器对象

在 LocalScript (Roblox LUA) 中创建抽象对象

如何在 Keycloak 中创建脚本映射器?

无法将其他flas动画片段访问到动作脚本3

在android中创建自己的动作栏

如何在 SQL Server 中创建“脚本生成器选项”脚本?