Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   При загрузке swf-файла не работает звук (http://www.flasher.ru/forum/showthread.php?t=71382)

Danilishin 03.11.2005 18:05

При загрузке swf-файла не работает звук
 
Ситуация такая:
Есть флешка, файл "mplayer.swf", в котором вставлен звуковой трек, звук проигрывается как положено - создается объект и запускается воспроизведение через метод объекта. В самом начале этой флешки работает прелоадер. Есть управление громкостью ползунком, кнопки включить и выключить. В общем что-то вроде медиа-плеера.
Идем дальше. Есть вторая флешка, тестовая, в которой производится загрузка первой флешки в ролик с помощью такой команды:
loadMovie("mplayer.swf","speaker");
где "speaker" - ролик внутри второй флешки.
Если запускать "mplayer.swf" отдельно, он работает прекрасно, без проблем.
Но вот если запустить второй, тестовый ролик, куда подгружается первый, то исчезает звук. При этом сама флешка загружается нормально, ее кнопки нажимаются, ползунок движется, просто звука нету.
Отчего это могет быть, и как енто устранить?
Спасибо.

Бармалей 03.11.2005 18:13

возникла проблема с областями видимости.
Убери в загружаемой флешке все ссылки на _root.
При загрузке одной флеш в другую, в загружаемой флехе _root меняется на _root загружающей. Пользуйся относительными путями (на помощь тебе придут this и _parent) =)

Danilishin 03.11.2005 18:34

Идея хорошая, но я все же не доганяю, вот код:
//--- в файле "mplayer.fla", код в кадре ---
song = new Sound();
song.attachSound("IMC"); // IMC-идентификатор звукового трека
song.start();

//--- в файле "test.fla", код в кадре ---
loadMovie("mplayer.swf","speaker");

по-моему с областью видимости все ок, или я не прав?

CGandA 03.11.2005 19:01

Поставь _root
_root.loadMovie("mplayer.swf","speaker");
Вроде работает

andr64 03.11.2005 19:10

может лучше так ?

_root.loadMovie("mplayer.swf");
или
speaker.loadMovie("mplayer.swf");

CGandA 03.11.2005 19:13

2andre64
Да, ты прав :)
Просто я лишний параметр написал

Danilishin 03.11.2005 19:16

Цитата:

Сообщение от andr64
может лучше так ?

_root.loadMovie("mplayer.swf");
или
speaker.loadMovie("mplayer.swf");


_root.loadMovie("mplayer.swf");
Такая команда просто загружает в флеш-плеер файл mplayer.swf, при этом test.swf минуется. Это все равно что сразу октрыть файл mplayer.swf. Проверял.

speaker.loadMovie("mplayer.swf");
А эта команда идентична команде loadMovie("mplayer.swf","speaker");
Разницы в работе нету. Тоже проверено.

Danilishin 03.11.2005 19:19

Цитата:

Сообщение от CGandA
Поставь _root
_root.loadMovie("mplayer.swf","speaker");
Вроде работает

_root.loadMovie("mplayer.swf","speaker");
Эта команда приводит к точно такому же эффекту, как если бы я просто открыл бы файл mplayer.swf.

CGandA 03.11.2005 19:27

Не понятно, что ты хочешь?

Danilishin 03.11.2005 19:34

Цитата:

Сообщение от CGandA
Не понятно, что ты хочешь?

Мне нужно, чтобы в тестовой флешке, например это - оболочка сайта.
На этом сайте в углу тусуется маленький элемент - плеер, который крутит музычку. Этот плеер предусматривается загружаемым флеш-роликом, т.е. сайт в браузере уже загружен, а музыка грузится отдельно, так как для ее загрузки надо время.
При желании изменить музыку мне достаточно заменить mplayer.swf, а не лезть в оболочку - что видится мне очень удобно.
В общем, "медиаплеер" надо чтобы был отдельным подключаемым флешом, и все тут.
Что не понятно?


Часовой пояс GMT +4, время: 23:07.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.