У меня есть загрузка видео в AS3 в большом файле, который использует SoundMixer для управления громкостью.Все отлично работает локально и в сети, когда оба файла находятся на одном сервере.
Однако, когда я разделяю файлы, скажем, чтобы на одном сервере был загрузчик swf, а на другом - больший контент, когда я нажимаю на томКнопка Я получаю эту ошибку.(Эта ошибка действительно выводится во время тестирования загрузчика SWF, при загрузке содержимого с онлайн-сервера.)
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:
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
.Кто-нибудь знает, что происходит и как это можно решить?