Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 12.10.2011, 18:27
Anig вне форума Посмотреть профиль Отправить личное сообщение для Anig Найти все сообщения от Anig
  № 1  
Ответить с цитированием
Anig

Регистрация: May 2010
Сообщений: 347
По умолчанию Включение-выключение звука.

Здравствуйте дорогие. На сайте есть музыка, ее надо
1. зациклить
2. кнопкой выключать/включать
Проблема вот в чем
Пишу как-то так
Код AS3:
var drum:DrumSound = new DrumSound();
var channel:SoundChannel = drum.play(0,1000);
 
 function myListener(event:MouseEvent):void
{	if(x1==0)
{	
	x1=1;
	pausePosition = channel.position;
	channel.stop();}
   else
   {	x1=0;
 	channel=drum.play(pausePosition);}
 
	}
И пробллема в том, что после остановки музыки хоть раз, цикла уже нет, музыка играет раз и все
а если пишу
Код AS3:
channel=drum.play(pausePosition,1000);}
то зацикливается только тот "хвостик-остаток " музыки, который оставался после стопа. Он и крутится потом в цикле..
Помогите пожалуйста, чтоб и цикл был и чтоб при этом музыка, закончившись, всегда начиналась снова, а не с позиции pausePosition

Старый 12.10.2011, 18:36
Genzo вне форума Посмотреть профиль Отправить личное сообщение для Genzo Посетить домашнюю страницу Genzo Найти все сообщения от Genzo
  № 2  
Ответить с цитированием
Genzo
 
Аватар для Genzo

блогер
Регистрация: Feb 2010
Адрес: MSK
Сообщений: 859
Записей в блоге: 3
Отправить сообщение для Genzo с помощью ICQ Отправить сообщение для Genzo с помощью Skype™
Цитата:
loops:int (default = 0) — Определяет, сколько раз звук возвращается к значению startTime, прежде чем прекратится воспроизведение звукового канала.
в вашем случае startTime = pausePosition , вот он и играет только ту часть.
вешайте на channel , событие soundComplete и по нему заставляйте звук играть заново

Добавлено через 2 минуты
Код AS3:
 var drum:DrumSound = new DrumSound();
            var channel:SoundChannel = drum.play();
            channel.addEventListener(Event.SOUND_COMPLETE , soundComplete);
 
            function soundComplete(e:Event):void
            {
                e.currentTarget = drum.play();
            }
 
            function myListener(event:MouseEvent):void
            {	if(x1==0)
            {	
                x1=1;
                pausePosition = channel.position;
                channel.stop();}
            else
            {	x1=0;
                channel=drum.play(pausePosition);}
 
            }
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works.

Старый 12.10.2011, 18:41
Anig вне форума Посмотреть профиль Отправить личное сообщение для Anig Найти все сообщения от Anig
  № 3  
Ответить с цитированием
Anig

Регистрация: May 2010
Сообщений: 347
Вот спасибо!! Сейчас попробую.

Добавлено через 2 часа 17 минут
Ой(( Вы знаете проблема остается..
Во первых пришлось писать вместо
Код AS3:
e.currentTarget = drum.play();
так, потому что сказал он мне property read only, что-то такое...
Код AS3:
channel= drum.play(0);
А во вторых почему то никогда и не генерируется SOUND_COMPLETE, это видно по trace(), которая не вызывается
Код AS3:
 function soundComplete(e:Event):void
            {	trace("tut");
				x1=0;
                channel= drum.play(0);
 
            }
В чем тут может быть проблема?

Добавлено через 3 часа 11 минут
Люди дорогие, ну как может не генерироваться этот complete?

Добавлено через 4 часа 27 минут
Нашелся секрет!!)
Каждый раз, при
Код AS3:
channel=drum.play(pausePosition);
создается новый обьект и ему надо снова приписывать listener.

Добавлено через 4 часа 28 минут
и при
Код AS3:
channel=drum.play();
тоже


Последний раз редактировалось Anig; 12.10.2011 в 20:59.
Создать новую тему Ответ Часовой пояс GMT +4, время: 06:52.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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