Показать сообщение отдельно
Старый 03.06.2013, 00:02
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Код AS3:
var cond:Boolean = false;
var snd:Sound = new hallelujahMp3();
var channel:SoundChannel;
 
addEventListener (MouseEvent.CLICK, playMusic); 
/// строка ниже, это подписка на окончание загрузки звукового файла, а не об окончании проигрывания.
// snd.addEventListener(Event.SOUND_COMPLETE, onComplete);
 
function playMusic (еvent:MouseEvent){
	if (cond) {
		channel.stop ();
		channel.removeEventListener (Event.SOUND_COMPLETE, onSoundComplete);
		channel = null;
	} else {
		channel = snd.play ();
		/// а вот это подписка на конец проигрывания
		channel.addEventListener (Event.SOUND_COMPLETE, onSoundComplete);
 
	}
	/// любой вызов инвертирует состояние cond, поэтому можно не указывать это явно: cond = true или cond = false
	cond = !cond;
}
function onSoundComplete (event:Event) {
	cond = false;
	channel.removeEventListener (Event.SOUND_COMPLETE, onSoundComplete);
	channel = null;
}
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 03.06.2013 в 00:44.