首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flash AS3 SoundMixer沙盒违规?

Flash AS3 SoundMixer沙盒违规?
EN

Stack Overflow用户
提问于 2011-03-11 22:38:26
回答 3查看 1.3K关注 0票数 0

我有一个使用SoundMixer控制音量的AS3预加载电影加载到一个较大的文件中。当两个文件都在同一台服务器上时,一切都能在本地和在线上正常工作。

然而,当我拆分文件时,假设将加载器swf放在一台服务器上,而较大的内容放在另一台服务器上,当我单击音量按钮时,我会得到这个错误。(此错误实际上在测试加载程序swf时输出,从在线服务器加载内容。)

代码语言:javascript
复制
Security Sandbox Violation
SecurityDomain 'http://www.onlinedomain.com/content.swf' tried to access incompatible context 'file:///LocalDisc/WORK//loader.swf'
SecurityError: Error #2070: Security sandbox violation: caller http://www.onlinedomain.com/content.swf cannot access Stage owned by file:///LocalDisc/WORK//loader.swf.
    at flash.media::SoundMixer$/set soundTransform()
    at content_fla::MainTimeline/stopSound()
    at content_fla::MainTimeline/soundMenuHandler()

我已经将crossdomain.xml文件添加到两台服务器以允许访问。

在我的content.swf中处理声音的函数是:

代码语言:javascript
复制
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundMixer;

function soundMenuHandler(event:MouseEvent):void {
    if (sound == "ON") {
        sound_btn.gotoAndStop(3);
        stopSound();
    } else {
        sound_btn.gotoAndStop(1);
        playSound();
    }
}

function playSound():void {
    sound = "ON";
    SoundMixer.soundTransform = new SoundTransform(1);
}

function stopSound():void {
    sound = "OFF";
    SoundMixer.soundTransform = new SoundTransform(0);
}

问题似乎是由于SoundMixer访问loader.swf造成的。有没有人知道发生了什么以及如何解决这个问题?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-03-13 17:51:52

找到解决方案!

尽管crossdomain.xml策略文件确实包含了这个域(所以我不确定它为什么不能工作)。通过将此代码添加到加载器文件中,我可以显式地授予访问权限。

Security.allowDomain("www.loadeedomain.com");

票数 0
EN

Stack Overflow用户

发布于 2011-03-11 23:36:24

file:///LocalDisc/WORK//loader.swf听起来像是在本地测试。要在本地测试,您可以在Flash安全管理器中禁用文件或文件夹的安全检查:

http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html#117502

票数 0
EN

Stack Overflow用户

发布于 2011-03-12 08:17:27

修复你的嵌入代码,你有跨域的问题,也要确保你的crossdomain.xml达到标准并交付使用

代码语言:javascript
复制
allowscriptaccess = "sameDomain";
allownetworking = "all";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5274251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档