如何在ActionScript中设置“swfURL”字段值?

时间:2015-03-09 15:22:42

标签: flash actionscript

我在ActionScript中编写了一个Flash应用程序,在这个应用程序中,我必须连接到Flash Server。 我有这个问题:服务器拒绝连接,因为RTMP协议中“swfURL”字段的值未定义。我不明白为什么应用程序没有设置此值,因为“swfURL”是源文件的值。 我在Flash API中找不到任何方法来更改此参数的值。 代码是这样的:

nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);

ncDomain = IP ADDRESS;
ncPort = PORT;
ncApplication = APPLICATION;

url = "rtmp://" + ncDomain + ":" + ncPort + "/" + ncApplication;
nc.connect(url);

编辑: 我告诉你更多细节: 我使用“FlashDevelop”IDE编写程序。我使用IDE的调试器来执行程序,当我看到Wireshark的数据包时,swfURL的值为“undefined”。 我还尝试将我的应用程序放在一个网页中,在JavaScript中使用“swfobject”,如下所示:

<script src="js/swfobject.js"></script>
<script>
    var flashvars = {
    };
    var params = {
        menu: "false",
        scale: "noScale",
        allowFullscreen: "true",
        allowScriptAccess: "always",
        bgcolor: "",
        wmode: "direct" // can cause issues with FP settings & webcam
    };
    var attributes = {
        id:"Proyecto"
    };
    swfobject.embedSWF(
        "Proyecto.swf", 
        "altContent", "100%", "100%", "10.0.0", 
        "expressInstall.swf", 
        flashvars, params, attributes);
</script>

这样做,问题是一样的,“swfURL”的值是未定义的,它必须是“Proyecto.swf”,正如你在上面的代码中看到的那样,它表示“swfobject.embedSWF”。 我不明白为什么当我的应用程序连接到服务器时,它不会发送发送方的url:swfURL在RTMP协议中的值。

0 个答案:

没有答案