Вход

Просмотр полной версии : Как запустить звук из подгружаемого мувика?


fmr
17.09.2008, 18:17
Прошу помочь в следующем. Есть основной мувик, нажатием на кнопку загружается другой, в котором вставлен звук.
вот код кнопки:
on (release) {
loadMovieNum("brk.swf", 1);//тут звук //id звука brk
s = new Sound();
s.attachSound("brk");//тут мне непонятно, как загрузить звук из подгруженного клипа
s.start(0,1);
}
Заранее всем спасибо

etc
17.09.2008, 18:27
fmr, отредактируйте свой пост и оформите код тегами .

wvxvw
17.09.2008, 20:39
Вам, наверное, проще будет создать функцию в загружаемом клипе, которая бы и проигрывала звук, и ее уже вызвать. Добраться до элементов из библиотеки загруженого клипа, на самом деле не очень простая задача...
ЗЫ. В любом случае, сразу после загрузки ничего проиграть не получится - нужно дождаться, пока загрузка закончиться.
ЗЫЫ. on (clipEvent) и loadMovieNum морально устарели много лет тому назад. Кроме того, что касается загрузки на уровень - старайтесь ее не использовать, т.как мало того, что ее нет и не будет в следующих версиях языка, вы так же не сможете загрузить вашу флешку в другую использующую более современную версию АС.

Mnilionic
18.09.2008, 16:09
кстати я попробовал и впрямь не работает что-то
mp3.swf

var snd = new Sound();
snd.attachSound("secret");
function playSound() {
snd.start(0, 0);
trace('start')
}
playSound();


wrapper_mp3.swf

var my_mcl = new MovieClipLoader();
var myListener = new Object();
myListener.onLoadInit = function(target_mc) {
trace(target_mc.playSound); // function
target_mc.playSound();
};
my_mcl.addListener(myListener);

var box = this.createEmptyMovieClip("mc_mp3", 10)
my_mcl.loadClip("mp3.swf", box);

chingachgoog
18.09.2008, 17:48
Как вариант:
1) создать в библиотеке основного мувика пустой мувиклип
2) в свойствах поставить ему Import for runtime sharing URL: ./brk.swf
3) бросить этот мувик на таймлайн
Разумеется start(0,1) делать только после задержки-инициирования.

PS Получается что attachSound работает не со своей библиотекой, а с библиотекой главного мувика, но это логично - т.к. после new Sound создается объект Sound в главном мувике, хотя ссылка на него и прописывается в подгруженный мувик.

add:
Да, все гораздо проще :)
http://flasher.ru/forum/showthread.php?t=116037

snd = new Sound(this);

attachSound работает с библиотекой основного мувика, если параметр target при создании Sound([target:Object]) опущен - Sound в этом случае работает на все мувики и потому библиотека у него - библиотека основного мувика.