![]() |
При загрузке swf-файла не работает звук
Ситуация такая:
Есть флешка, файл "mplayer.swf", в котором вставлен звуковой трек, звук проигрывается как положено - создается объект и запускается воспроизведение через метод объекта. В самом начале этой флешки работает прелоадер. Есть управление громкостью ползунком, кнопки включить и выключить. В общем что-то вроде медиа-плеера. Идем дальше. Есть вторая флешка, тестовая, в которой производится загрузка первой флешки в ролик с помощью такой команды: loadMovie("mplayer.swf","speaker"); где "speaker" - ролик внутри второй флешки. Если запускать "mplayer.swf" отдельно, он работает прекрасно, без проблем. Но вот если запустить второй, тестовый ролик, куда подгружается первый, то исчезает звук. При этом сама флешка загружается нормально, ее кнопки нажимаются, ползунок движется, просто звука нету. Отчего это могет быть, и как енто устранить? Спасибо. |
возникла проблема с областями видимости.
Убери в загружаемой флешке все ссылки на _root. При загрузке одной флеш в другую, в загружаемой флехе _root меняется на _root загружающей. Пользуйся относительными путями (на помощь тебе придут this и _parent) =) |
Идея хорошая, но я все же не доганяю, вот код:
//--- в файле "mplayer.fla", код в кадре --- song = new Sound(); song.attachSound("IMC"); // IMC-идентификатор звукового трека song.start(); //--- в файле "test.fla", код в кадре --- loadMovie("mplayer.swf","speaker"); по-моему с областью видимости все ок, или я не прав? |
Поставь _root
_root.loadMovie("mplayer.swf","speaker"); Вроде работает |
может лучше так ?
_root.loadMovie("mplayer.swf"); или speaker.loadMovie("mplayer.swf"); |
2andre64
Да, ты прав :) Просто я лишний параметр написал |
Цитата:
_root.loadMovie("mplayer.swf"); Такая команда просто загружает в флеш-плеер файл mplayer.swf, при этом test.swf минуется. Это все равно что сразу октрыть файл mplayer.swf. Проверял. speaker.loadMovie("mplayer.swf"); А эта команда идентична команде loadMovie("mplayer.swf","speaker"); Разницы в работе нету. Тоже проверено. |
Цитата:
Эта команда приводит к точно такому же эффекту, как если бы я просто открыл бы файл mplayer.swf. |
Не понятно, что ты хочешь?
|
Цитата:
На этом сайте в углу тусуется маленький элемент - плеер, который крутит музычку. Этот плеер предусматривается загружаемым флеш-роликом, т.е. сайт в браузере уже загружен, а музыка грузится отдельно, так как для ее загрузки надо время. При желании изменить музыку мне достаточно заменить mplayer.swf, а не лезть в оболочку - что видится мне очень удобно. В общем, "медиаплеер" надо чтобы был отдельным подключаемым флешом, и все тут. Что не понятно? |
Вложений: 1
В файл mplayer.fla ты ДОЛЖЕН импортировать свою музыку и прописать имя файла в скрипте
Работает |
Вложений: 1
Спасибо за исходники. Однако проблема здесь не была решена. Дело в том, что в них размеры и цвет фона одинаковы, и не видно как флеш-плеер, при запуске файла test.swf как-бы пропускет его, и загружает mplayer.swf. Суммарный эффект - как если бы мы сразу запустили файл mplayer.swf.
Высылаю обратно исходники с некоторыми изменениями. В каждом сделан фон разного цвета, а размер mpleer уменьшен. Добавь музыку, скомпилируй и запусти test.swf. |
всем привет.
вот год спустя сталкнулся с такой же проблемой: есть внешний прелоадер, есть загружаемая флэшка с встроенным звуком, в которой прописано: Код:
var firstSound:Sound = new Sound();если её загрузить через прелоадер, она нормально проигрывается, только без звука. Конфликта имён вроде нет. Danilishin, нашёл ли ты причину? Спасибо за внимание! |
Вложений: 1
при создании объекта Sound свяжи его с этим роликом, т.е сделай так:
var firstSound:Sound = new Sound(this); должно заработать, если что - смотри этот же исходник что год назад, но исправленный. |
да большое спасибо!
уже нашёл тот же ответ в очень граммотном тутореале http://kennybellew.cowfly.com/tutorial/ |
| Часовой пояс GMT +4, время: 23:46. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.