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

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

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

блогер
Регистрация: Nov 2007
Адрес: Almaty, Moscow
Сообщений: 396
Записей в блоге: 5
Отправить сообщение для Партизан с помощью Skype™
Ну может вам это поможет. У меня прекрасно работает, без щелчков.
Код AS1/AS2:
package
{
	import com.greensock.TweenMax;
	import flash.events.Event;
	import flash.events.IOErrorEvent;
	import flash.media.Sound;
	import flash.media.SoundChannel;
	import flash.media.SoundTransform;
	import flash.net.URLRequest;
 
 
	/**
	 * ...
	 * @author Mikhail Klabukov
	 */
	public class BackgroundSound
	{
		static public const SOUND_OFF:String = "soundOff";
		static public const SOUND_ON:String = "soundOn";
		private var sound:Sound;
		private var channel:SoundChannel
		private var played:Boolean = false;
		private var _pos:Number;
		private var st:SoundTransform;
 
		public function BackgroundSound()
		{
			sound = new Sound(new URLRequest('**********soundUrl**********'));
			sound.addEventListener(IOErrorEvent.IO_ERROR, errorSoundLoad)
			channel = sound.play(0, 10000);
			played = true;
			MainControls.self.addEventListener(MainControls.SOUND_SWITCH, switchSound);
		}
 
		private function errorSoundLoad(e:IOErrorEvent):void
		{
			trace(e)
		}
 
		private function switchSound(e:Event):void
		{
			if (TweenMax.isTweening(st))
				return;
			st = channel.soundTransform;
			if (played)
			{
				_pos = channel.position;
				TweenMax.to(st, 2, {volume: 0, onUpdate: function():void
					{
						channel.soundTransform = st;
					}, onComplete: function():void
					{
						channel.stop();
					}});
				played = false
				MainControls.self.dispatchEvent(new Event(SOUND_OFF));
			}
			else
			{
				channel = sound.play(_pos, 10000);
 
				TweenMax.to(st, 3, {volume: 1, onUpdate: function():void
					{
						channel.soundTransform = st;
					}});
				played = true;
				MainControls.self.dispatchEvent(new Event(SOUND_ON));
 
			}
		}
 
	}
 
}

Создать новую тему   Часовой пояс GMT +4, время: 02:04.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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