Вход

Просмотр полной версии : Как сделать паузу звука???


Koly@
10.01.2003, 00:04
Как сделать кнопу нажимая на которую звут останавливается нажимаю на другую продолжается с того места где ОСТАНОВИЛСЯ???? :confused:

derhab
10.01.2003, 01:04
Используй стримовый звук, если растянуть его по таймлайну мувика, а в руте создать кнопку, то можно повесить на кнопку такой код:

on (release) {
Play = !Play;
if (Play) {
_root.movie.play();
} else {
_root.movie.stop();
}
}

В этом варианте тебе не надо 2 кнопки, одна и та же будет запускать и останавливать...

BillGatesKiller
10.01.2003, 01:05
Способ 1: у тебя в _root есть MC с именем (instanse name) sound, на котором лежит звук (не через AS, а на таймлайне). в первом кадре _root пишешь
_global.playing = new Boolean(true);

В кнопке
on (release){
if (playing){
playing = false;
_root.sound.stop();
}
else{
playing = true;
_root.sound.play();
}
}
Способ 2: в _root в первом кадре пишешь
_global.playing = new Boolean(true);
_global.pause = new Number();
_global.snd = new Sound();
//нужное раскомментировать
//snd.attachSound("My_sound");
//snd.loadSound("My_sound.mp3");
snd.setVolume(75);
snd.setPan(0);
snd.start(0,999999);
в кнопке
on (release){
if (playing){
playing = false;
pause = snd.position;
snd.stop();
}
else{
playing = true;
snd.start(pause/1000,999999);
}
}

Смольный (Smolniy)
10.01.2003, 03:42
BillGatesKiller

А почему такое число 1000,999999? Так же вроде в миллисекундах параметр указывается?

BillGatesKiller
10.01.2003, 08:05
Sound.position содержит кол-во милисекунд от начала проигрывания, а Sound.start() требует в качастве первого аргумента секунду, с которой нужно начать проигрывание, при этом аргумент может быть дробным числом. т. к. 1 мс = 0.001 с, делим время паузы (которое в милисекундах) на 1000 и передаём функции start.