来自javascript的AS3文件参考

时间:2012-09-20 09:41:01

标签: javascript actionscript-3 externalinterface

是否可以使用javascript中的Actionscript 3文件引用。我需要编写一个应用程序,它将使用javascript来调用fileReference的浏览方法。

我想确保在我花费太多时间进入代码之前这是可能的。我不知道那里是否有一些安全问题。

1 个答案:

答案 0 :(得分:0)

您可以从Javascript调用您想要在AS3中定义的任何内容。问题是,您无法在Javascript中直接使用FileReference对象,但您可以在Actionscript中编写所需的所有方法,然后在需要时调用它们。所以AS3就像数据提供者。

如果您需要一些代码示例,请告诉我。如果您是新手,请查看ExternalInterface

编辑:

那么你想从Flash端还是从JS加载.mp3?如果您想使用FileReference,我猜它来自Flash。无论如何,Flash需要将.mp3作为ByteArray或作为其链接,以便它可以加载并播放声音。

基本上你需要让所有Flash都站在一边。我的意思是实际的音量,播放/暂停和其他功能应该在Flash端实现,但是可以通过Javascript控制。

您可以为Flash中的方法添加回调,以便之后您可以通过javascript执行以下操作:

flashObject.playMusic();

在Flash方面,您需要编写如下内容:

if(ExternalInterface.available) {
    ExternalInterface.addCallback("playMusic", playMusic);
}

function playMusic():void {
    musicObject.play();
}

所以我们在这里做的是,向Flash对象添加一个回调,以便可以从Javascript调用playMusic方法,然后定义我们播放声音对象的实际方法。您可以传递和获取像您一样正常的参数。

请注意将HTML对象的allowScriptAccess参数设置为always