Просмотр полной версии : прелоадер для swf со стримовым звуком
Проблема следующая:
В swf-ку подгружается много других swf-ок и в том момент как они начинают подгружаться начинают воспроизводить стримовый звук который в них находится, т.о. получается каша из множество звуков. Можно ли каким-нить образом заставить их молчать во время прелоудинга?
размещай звук со второго кадра, а на первом ставь stop()
Проблема в том что подгружаемые swf-ки не мной генерятся в них я поменять ничего немогу.
Звук у них начинает воспроизводиться со второго кадра- это я знаю но добавть в первый кадр я ничего не могу
тогда попробуй при загрузке их сам стопь
а можно первый кадр у них отловить, чтобы при этом не успевал подгрузиться звук?
Проблема следующая:
Можно ли каким-нить образом заставить их молчать во время прелоудинга?
Можно управлять громкостью. Для этого
_root.nameOfLoadedClip.mySound=new Sound();
//Обращаемся к клипу, который грузим (при загрузке дай ему имя) и делаем в нем переменную mySound, которой присваиваем звук.
_root.nameOfLoadedClip.mySound.setVolume(0);
//Устанавливаем громкость этому мувику на 0.
Далее, когда надо будет, просто опять на 100 процентов.
Еще можно
_root.nameOfLoadedClip.mySound.Stop();
а потом
_root.nameOfLoadedClip.mySound.Play();
и звук заново пойдет.
Подробности сам уже продумаешь... ;)
Там звук stream и программное управление не пройдет.
Попробуй на клипе куда грузишь поставить код:
onClipEvent (load) {
stop ();
}
Я понимаю что код от 5-ки, но если писать
имя_мувиклипа.onLoad =function ....
то при загрузке код сразу слетит, а пятерочный вариант - нет.
А _root.nameOfLoadedClip.mySound=new Sound(); автоматически натравится на тот звук который там есть?
И вопрос как поймать тот момент когда начало мувика подгрузилось, а звук еще не проигрывается, в какой момент создавать newSound? Там есть еще одна загвоздка структура подгружаемого клипа такая:
-сначало идет основной таймлайн подгружаемого клипа
-на втором кадре у него мувиклип запускается со звуком внутри
По-моему он такой. Если интересует могу выложить пример, только он жирный около 2Мег.
а событие onLoad произойдет когда клип загрузится полностью или загрузится до того момента когда он начнет проиграваться?
как только первые байты поступят так и сработает.
А _root.nameOfLoadedClip.mySound=new Sound(); автоматически натравится на тот звук который там есть?
И вопрос как поймать тот момент когда начало мувика подгрузилось, а звук еще не проигрывается, в какой момент создавать newSound? Там есть еще одна загвоздка структура подгружаемого клипа такая:
-сначало идет основной таймлайн подгружаемого клипа
-на втором кадре у него мувиклип запускается со звуком внутри
По-моему он такой. Если интересует могу выложить пример, только он жирный около 2Мег.
Насколько я понимаю, у тебя идет
LoadMovie или LoadMovieNum.
Можешь сделать так: например, пожгружаем при нажатии батона, тогда
сначала создаем символ, например, если на root уже есть звук или просто нет надобности его затирать и называем его nameOfLoadedClip. Символ пустой и с одним кадром.
а на символе какой-нить кнопки пишем:
on (press) {
loadMovie("sound.swf",_root.nameOfLoadedClip); //грузим в наш пустой клип
_root.nameOfLoadedClip.mySound=new Sound();
if (_root.clipname.framesLoaded=2) { //фрэйм 2 есть, а значит и грузиться начал.
_root.nameOfLoadedClip.mySound.setVolume(0); //говорим звуку нет
}
if (_root.clipname.bytesLoaded=_root.clipname.bytesTotal) { // байты загрузились все.
_root.nameOfLoadedClip.mySound.setVolume(100); //говорим звуку да
}
}
Только при этом варианте для старта звука надо опять батон жать, тогда лучше on(трали-вали) заменить на onClipEvent(EnterFrame)
Тогда будет идти постоянная проверка и не надо будет мучать юзера при загрузке нового мувика. Можно только строку подгрузки вставить на нужное место, например на каку-нить кнопку, а все остальное на онКлипЕвент прописать на символе nameOfLoadedClip.
Запутал? Да не так все сложно! ;)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.