PDA

Просмотр полной версии : как выключить звук во флэшке скриптом?


DIABLO_636
04.07.2007, 23:13
Есть такая задачка - во флэшке, которая будет впоследствии на сайте, проигрывается звук. А когда пользователь ходит по страничкам сайта, флэшка постоянно подгружается, и получается, что он слышит все время этот звук. Надо сделать кнопочку, при нажатии на которую звук не один раз отключится, а вапще не будет проигрываться, пока человек находится на этом сайте. Если у кого есть срипт, или исходник - поделитесь, дело срочное! заранее благодарен.

iNils
04.07.2007, 23:20
http://www.flasher.ru/forum/showthread.php?t=93135&page=2

Kikasso
04.07.2007, 23:27
SharedObject поможет вам запомнить, что гость звук отрубил. В первом кадре проверяйте, так ли это, и если да - ставьте громкость на 0.

DIABLO_636
05.07.2007, 01:07
INils ---- Спасибо за подсказку, у меня во флэшке кнопка, а если к твоему скрипту дописать вот это

on (release) {
var globalVolume:Sound = new Sound (_root);
globalVolume.setVolume (0);
}

оно будет работать?

--- Kikasso ---
"SharedObject поможет вам запомнить, что гость звук отрубил. В первом кадре проверяйте, так ли это, и если да - ставьте громкость на 0."

я в скриптах не так хорошо юзаю. Не мог бы поподробней пояснить или написать срипт?

Kikasso
05.07.2007, 01:31
Посмотрите в хелпе, с чем едят SharedObject. Там с примерами. Если не получится, тогда поправим.

iNils
05.07.2007, 01:51
DIABLO_636:
1. Для оформления своего кода, надо использовать теги .
2. Есть кнопка http://www.flasher.ru/forum/images/russian/style3/buttons/edit.gif, поэтому не надо создавать несколько сообщений подряд, надо исправить последнее в теме.
3. В той теме, на которую дал ссылку, я написал ерунду. На самом деле так:
var globalVolume:Sound = new Sound ();
globalVolume.setVolume (0);
Но звук сюда не вешаем. Если надо, создаем другие объекты Sound и используем их. Что касается кнопки, то var globalVolume:Sound = new Sound (); надо вынести в таймлайн.

Kikasso
05.07.2007, 02:05
//глобальный звук - конструктор вызван без привязки к клипу
var globalVolume:Sound = new Sound ();

//смотрим, меняли ли звук
var so = SharedObject.getLocal('snd');
if(so.data.volume != undefined ){ // да, меняли, выставляем громкость
globalVolume.setVolume (so.data.volume);
}else{ // нет, не меняли. сохраним данные
so.data.volume = 100;
}

Достаточно сохранить ссылки на звук и шаредобжект, и при изменении громкости выставлять громкость и сохранять данные (последняя строчка)