Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   Не воспроизводятся звуки (http://www.flasher.ru/forum/showthread.php?t=97837)

Evgeni 30.06.2007 19:30

Не воспроизводятся звуки
 
При воспроизведении SWF файла с сервера через Internet Explorer не работают звуки кнопок (звуки загружаются из библиотеки), а при тесте на компьютере всё работает.. Подскажите, как воспроизвести звуки при загрузке с сервера?
Исходник тут:
http://infostore.org/info/3528246

mr.N 30.06.2007 19:55

Правильно прописать пути, если звук загружается из внешнего источика.

Evgeni 30.06.2007 20:00

Звуки загружаются из библиотеки

divinus 01.07.2007 01:22

ну тогда, пожалуйста код в студию, или лучше неработающий пример, флешеры обычно не телепаты... :)

Evgeni 01.07.2007 03:22

Цитата:

Сообщение от divinus
ну тогда, пожалуйста код в студию, или лучше неработающий пример, флешеры обычно не телепаты... :)

Вы абсолютно правы, Уважаемый divinus. Вот ссылка к файлам:
http://infostore.org/info/3528246

Kikasso 01.07.2007 05:59

Блин, исходник??
Мое телепатическте предположение - вы одну флешку грузите в другую, а звук инициируете примерно так:
Код:

snd = new Sound();
Попробуйте сделать так:
Код:

snd = new Sound( _root );
или
Код:

d = _root.getNextHighestDepth();
snd = new Sound( _root.createEmptyMovieClip('mc' +d, d) );

Ну то есть указать мувиклип в качестве "опоры" для звука.

Evgeni 01.07.2007 16:45

Спасибо за скрипты, Kikasso! Но увы не помогло.. Исходник выше от вас на 1 сообщение.. Попробую переустановить ОС и отпишу. Может ошибка только у меня, ведь делаю по общим примерам.

iNils 01.07.2007 16:50

http://www.inils.ru/test/soundie/nw.htm
У меня звук есть.

Evgeni 01.07.2007 17:44

Проблемма решена простым методом. На порядок вше у меня находилось окно в котором был код открытия страницы без кеширования:
Код:

this.createEmptyMovieClip("clip", 0);
clip.loadMovie("http://???/nw.swf?"+Math.random());

Я разместил экземпляр напрямую без запрета кеширования и это сработало на решение идеи..
Благодарю iNils за размещение файла в сети!!!

Kikasso 01.07.2007 18:35

Во - во, одну флешку в другую.. Такое должно было сработать:
Код:

snd = new Sound( this );

Evgeni 01.07.2007 20:50

Цитата:

Сообщение от Kikasso
Во - во, одну флешку в другую.. Такое должно было сработать:
Код:

snd = new Sound( this );

Не думал, но похоже тут завязка либо правда в "флеш во флеш", либо в "кешировать или не кештровать". Спасибо за совет использовать указатель на главную временную шкалу (this)!

Kikasso 01.07.2007 22:43

this это ссылка не на главную временную шкалу, а на то место, где код выполняется в настоящее время.
Совет я дам получше, а именно привязывать каждый звук к новому пустому мувиклипу. Почему:
Код:

s = new Sound(this);
s2 = new Sound(this);
// два звука "приписаны" к одному клипу.
trace(s2.getVolume()); // 100, разумеется
s.setVolume(50); // меняем громкость первого звука
trace(s2.getVolume());  // 50, т.е. у второго громкость тоже поменялась.


Evgeni 01.07.2007 23:46

ДА, ПАРДОН, ПОСПЕШИЛ НАПИСАТЬ, хотел разгадать загадку... свойство this(указывает на объект, который
вызвал функцию) НЕ ССЫЛКА НА ГЛАВНУЮ ВР. ШКАЛУ..
Самое лёгкое решение вопроса- подгружаем мувик "Б" (содержит звук) в мувик "А" (содержит код для антикэша), при этом прописываем в "Б":

Код:

var batt = new Sound(this);
batt.attachSound("the1");

где the1-идентификатор звука(библиотека).
Работает 99.9% и в кэш не попадает.

Kikasso 02.07.2007 00:15

В кеш попадает все равно, просто каждый раз заново грузится. Код обводите тегами [code] плз.

iNils 02.07.2007 01:33

Цитата:

Сообщение от Kikasso
Код обводите тегами [code] плз.

Даже не плиз, а обязательно.

Evgeni 02.07.2007 05:11

Цитата:

Сообщение от Kikasso
В кеш попадает все равно, просто каждый раз заново грузится. Код обводите тегами [code] плз.

присоединяя к адресующему фильм URL случайное число, можно заставить Player осуществлять загрузку из сети даже тогда, когда в кэше имеется копия фильма...
:victory: Данный код предотвращает кэширование на машине пользователя:
Код:

this.createEmptyMovieClip("clip", 0);
clip.loadMovie("http://evgeni.com/evgeni.swf?"+Math.random());


etc 02.07.2007 09:25

Кеширование он не предотвращает.
Он предотвращает повторное использование кешированного файла.

Evgeni 02.07.2007 12:12

Уважаемые, Вы меня настораживаете..
Кто знает путь к папке с кэшем?

etc 02.07.2007 12:20

Пользователь, конечно. Я говорю о неверной трактовке — никакого кеширования не запрещается, совершенно (его может запретить сам пользователь в настройках браузера). Браузер как обычно закеширует ролик, но при новом обращении будет новый URL и копия ролика появится в кеше, пока весь его не забьет.

Evgeni 02.07.2007 23:46

Я имею ввиду какой путь к кэшу?
Жаль, я свято верил, что Flash-гуру в своих книгах не ошибаются..

Kikasso 03.07.2007 00:21

Путь к кешу зависит от броузера. У меня ff, opera и iE - у каждого свой кеш. Тут еще обрадовали, Safari под винду вышел.. Скоро придется ставить..

etc 03.07.2007 01:34

Kikasso, ой, раз придеться — не ставь :D
Evgeni, зависит от конкретного браузера. А это важно?


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

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