是否可以使用javascript中的Actionscript 3文件引用。我需要编写一个应用程序,它将使用javascript来调用fileReference的浏览方法。
我想确保在我花费太多时间进入代码之前这是可能的。我不知道那里是否有一些安全问题。
答案 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
。