基本上我创建了一个简单的MP3播放器,并且在页面中嵌入了多个副本。现在当我玩一个,我希望所有其他人暂停.....任何想法如何做到这一点?有可能做n路本地连接吗?还是有更好的选择?As3,如何将消息传递给页面中的所有swf?
0
A
回答
0
ExternalInterface.call可用于从一个 SWF和,反之亦然调用JavaScript ,ExternalInterface.addCallback可用于暴露的某些方法由 JavaScript调用。
例如,在每个SWF,你可能有:
ExternalInterface.addCallback("externalStopAudio", stopAudio);
// later..
function stopAudio():void {
// Code to stop audio
_audioStream.stop();
}
function playAudio():void {
// tell JS to stop all audio
ExternalInterface.call("stopAllAudio");
// play this players audio
_audioStream.play();
}
然后在它是一个包含SWF文件的HTML部分JS:
<script>
// these references need to be actual pointers to the SWFs, this will vary
// depending on how you have it setup - might be SWFObject, Jquery, etc
var a = [swf1, swf2, swf3];
// called by SWF
function stopAllAudio() {
// called to SWF
for(var i = 0; i < a.length; i++) {
a[i].externalStopAudio();
}
}
</script>
根据安全设置/域放置,您可能需要以下条件:
在HTML:
<param name="allowScriptAccess" value="always" />
在SWF:
flash.system.Security.allowDomain(sourceDomain)
0
您可以使用javascript与网页进行通信,然后网页可以与其他swf进行通信。
1
更完整的解决方案将使用LocalSharedObject:http://www.adobe.com/products/flashplayer/articles/lso/
在启动时,SWF生成一个GUID,然后加载LSO,并绑定到一个该LSO的财产(如'当前活动GUID')。然后,无论用户什么时候玩,瑞士法郎都会向LSO写信。这将通知所有的swfs音乐正在播放,不需要JavaScript。这也适用于所有标签,所以如果swf在另一个标签上播放,它将停止(另外,google和chrome使用相同的LSO,因此它可以跨浏览器使用:-))
相关问题
- 1. 如何将页面中的语言信息传递给页面?
- 2. 如何将消息传递给PLC
- 3. 如何将消息传递给线程
- 4. 将变量从AS3 SWF传递给AS2 SWF
- 5. 如何让一个页面传递给另一个消息?
- 6. 将错误消息JSON传递给另一个页面模板
- 7. AS3将FlashVars传递到加载的swf
- 8. Flex - 如何将参数传递给swf
- 9. 如何将参数传递给页面?
- 10. 将值传递给页面
- 11. JavaScript:如何将附加信息传递给源页面?
- 12. 如何将信息传递给其他页面?
- 13. Flash/AS3安全性 - 将movieclip引用传递给子swf?
- 14. 如何将WM_KEYDOWN消息传递给CWinFormsView中的WinForms控件?
- 15. PHP在页面之间传递消息
- 16. 将消息从C传递给erlang
- 17. 将消息传递给C++调用者
- 18. 将GCM消息传递给Fragment - Xamarin
- 19. 如何将值从一个页面传递给其他页面?
- 20. 如何将页面中的值传递给PHP中的另一个页面
- 21. 将变量从一个swf传递到另一个swf as3
- 22. 如何将AS3中的数组传递给PHP中的数组?
- 23. 如何将参数传递给jquery中的另一个页面
- 24. 如何将参数传递给Appcelerator TabGroup中的子页面?
- 25. 如何将boundfield值传递给同一页面中的标签?
- 26. 将信息传递给重定向后的页面 - CodeIgniter
- 27. ExternalInterface将swf的值传递给同一页上的iFrame
- 28. 如何将值传递给闪存中的eventlistener as3
- 29. 使用FlashVars将变量传递给SWF
- 30. 将价值swt传递给swf