Если у вас нет доступа к источнику swf AS2, то я не верю, что есть прямой способ сделать это, но вы можете сделать обходной путь, создав свой собственный wrapper.swf, в котором нужно загрузить game.swf , Этот wrapper.swf мог бы контролировать глобальный звук в game.swf и мог бы открыть методы для Javascript, откуда вы могли бы управлять звуком.
Я бы посоветовал сделать вашу обертку в AS3 как, ну, это упростит. AS2 ужасно по сравнению.
Я установил базовый код ниже, который загружает внешний swf с помощью простой кнопки, которая переключает весь звук внутри оболочки, включая загруженные swf.
import flash.text.TextField;
import flash.media.SoundMixer;
var req:URLRequest = new URLRequest("playsound.swf");
var loader:Loader = new Loader();
loader.load(req);
var btn:TextField = new TextField();
btn.text = "Toggle Sound";
btn.mouseEnabled = true;
btn.buttonMode = true;
btn.addEventListener(MouseEvent.CLICK, handleClick);
this.addChild(btn);
var amMuted:Boolean = false;
function handleClick(e) {
if (amMuted) {
amMuted = false;
SoundMixer.soundTransform = new SoundTransform(0);
} else {
amMuted = true;
SoundMixer.soundTransform = new SoundTransform(1);
}
}
можно альтернативно просто позвонить:
SoundMixer.stopAll()
, если вы хотите, чтобы отключить все.
, если вы хотите, чтобы проверить princple вот пример AS2 SWF играть родовой зацикливающийся звук:
song = new Sound();
song.loadSound("http://users.skynet.be/fa046054/home/P22/track39.mp3", true);
song.onLoad = function(success:Boolean) {
if (success) {
song.start();
} else {
// fail
}
}
// replay
song.onSoundComplete = function() {
song.start();
}
ки спасибо за помощь, в связи с тем, что я не прошить программист, делать и знать хороший источник, где я могу найти более подробную информацию для такой оболочки? – Sascha
@ Sascha не проблема, я расширил ответ выше с помощью некоторого примера кода. Обратите внимание, что это не добавляет swf на сцену, просто воспроизводит ее из памяти. – Visualife
@ Sascha все это решило вашу проблему или вам нужна дополнительная помощь? – Visualife