PDA

Просмотр полной версии : Не воспроизводятся звуки


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. Вот ссылка к файлам:
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
Во - во, одну флешку в другую.. Такое должно было сработать:
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
Код обводите тегами [code] плз.Даже не плиз, а обязательно.

Evgeni
02.07.2007, 05:11
В кеш попадает все равно, просто каждый раз заново грузится. Код обводите тегами [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, зависит от конкретного браузера. А это важно?