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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 07.05.2011, 19:42
forward вне форума Посмотреть профиль Отправить личное сообщение для forward Посетить домашнюю страницу forward Найти все сообщения от forward
  № 1  
Ответить с цитированием
forward
 
Аватар для forward

Регистрация: Jul 2007
Адрес: Украина Днепропетровск
Сообщений: 312
Записей в блоге: 1
По умолчанию Как со старта запустить функцию?

Доброго времени суток!

Как в этом коде можно запустить со старта функцию SoundStart() что сразу началось проигрывание?

Код AS3:
package main.radio{
	///Библиотеки классов
	import flash.display.*;
	import flash.events.*;
	import flash.media.*;
	import flash.net.*;
	import flash.utils.*;
 
	public class Radio extends MovieClip {
		////Массив с названиями и ссылками на радиостанции
		private var Data:Array=[
		[
		 "KISS FM",
		 "RADIO ROKS",
		 "TRANCE",
		"RELAX",
		"RAP",
		"Drum & Bass",
		"Русское Радио" ,
		],
		[
		 "http://radio.adsl.by:8000/kissfm128",
		 "http://radio.adsl.by:8000/roks_ua",
		 "http://stream.netradio.by:8000/trance/mp3/256",
		 "http://stream.netradio.by:8000/relax/mp3/256",
		 "http://stream.netradio.by:8000/rap/mp3/256",
		 "http://radio.adsl.by:8000/ps_drum",
		 "http://radio.adsl.by:8000/russianradioua",
		 ]
		];
 
 
		///фон плеера
		public var BackGround:radioBg=new radioBg();
		///кнопка плей
		public var Play:playBtn=new playBtn();
		///кнопка стоп
		public var Stop:stopBtn=new stopBtn();
		//следующая
		public var Next:nextBtn=new nextBtn();
		// предыдущая
		public var Prev:nextBtn=new nextBtn();
		/// кнопка громкости
		public var Vol:volBtn=new volBtn();
		//Играет ли музыка
		public var MusicPlay:Boolean=false;
 
		public var kiss:Boolean = false;
 
		private var nextTitle:Sound = new Sound();
 
		//Для работы с звуокм
		private var sc:SoundChannel = new SoundChannel();
		private var s:Sound=null;
 
		//Текущая радиостанция
		private var curChanel:uint=0;
 
		public function Radio(_x:Number=0,_y:Number=0) {
			//позиционируем фон
			BackGround.x=100;
			BackGround.y=24;
			addChild(BackGround);
			//позиционируем кнопки управления
			Play.x=65;
			Play.y=57;
			addChild(Play);
			Stop.x=54;
			Stop.y=51;
			addChild(Stop);
			Prev.x=160;
			Prev.y=48;
			Prev.scaleX=-1;
			addChild(Prev);
			Next.x=155;
			Next.y=48;
			addChild(Next);
			Vol.x=193;
			Vol.y=67;
			addChild(Vol);
 
 
			////////////////Слушатели
			Play.addEventListener(MouseEvent.CLICK,SoundPlay);
			Play.addEventListener(MouseEvent.MOUSE_OVER, startTooltipCounter);
			Play.addEventListener(MouseEvent.MOUSE_OUT, hideTooltip);
 
			Stop.addEventListener(MouseEvent.CLICK,SoundStop);
			Stop.addEventListener(MouseEvent.MOUSE_OVER, startTooltipCounter);
			Stop.addEventListener(MouseEvent.MOUSE_OUT, hideTooltip);
 
			Next.addEventListener(MouseEvent.CLICK,SoundNext);
			Next.addEventListener(MouseEvent.MOUSE_OVER, startTooltipCounter);
			Next.addEventListener(MouseEvent.MOUSE_OUT, hideTooltip);
 
			Prev.addEventListener(MouseEvent.CLICK,SoundPrev);
			Prev.addEventListener(MouseEvent.MOUSE_OVER, startTooltipCounter);
			Prev.addEventListener(MouseEvent.MOUSE_OUT, hideTooltip);
			//Вешаю слушатели на кнопки регулятора звука
			for (var i:Number=1; i<=4; i++) {
				Vol['v'+i+'_btn'].addEventListener(MouseEvent.CLICK,VolumeChange);
			}
			//Обновляем текстовое поле и кнопки
			update();
		}
 
 
		public function SoundPlay(e:MouseEvent) {
 
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
 
			if (MusicPlay==false) {
				if (s) {
					//закрываем канал если он открыт
					s.close();
				}
				//Получаем ссылку радиостанции из массива
				nextTitle.load(new URLRequest(Data[1][curChanel]));
 
				nextTitle.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
 
				//Грузим её
				s=nextTitle;
				//Воспроизводим
				sc=s.play();
				//Указывем что музыка играет
				MusicPlay=true;
				//Обновляем кнопки
				update();
			}
		}
 
		public function SoundStart() {
 
			addEventListener(Event.ENTER_FRAME, onEnterFrame);
 
			if (MusicPlay==false) {
				if (s) {
					//закрываем канал если он открыт
					s.close();
				}
				//Получаем ссылку радиостанции из массива
				nextTitle.load(new URLRequest(Data[1][curChanel]));
 
				nextTitle.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
 
				//Грузим её
				s=nextTitle;
				//Воспроизводим
				sc=s.play();
				//Указывем что музыка играет
				MusicPlay=true;
				//Обновляем кнопки
				update();
			}
		}
 
 
		private function ioErrorHandler() {
            //Останавливаю музыку
			sc.stop();
			if (s) {
				//закрываем канал если он открыт
				s.close();
			}
			//Указывем что музыка не играет
			MusicPlay=false;
			s=null;
			//Обновляем кнопки
			update();
        }
 
private var n = 0;
private function onEnterFrame(event:Event) {
trace(n);
n++;
 
trace(MusicPlay);
trace(s);
trace(MusicPlay);
 
if(MusicPlay==false){
ioErrorHandler();
}
}
 
		public function SoundStop(e:MouseEvent) {
 
			//Останавливаю музыку
			sc.stop();
			if (s) {
				//закрываем канал если он открыт
				s.close();
			}
			//Указывем что музыка не играет
			MusicPlay=false;
			s=null;
			//Обновляем кнопки
			update();
		}
 
		public function SoundNext(e:MouseEvent) {
			//Останавливаю музыку
			sc.stop();
			if (s) {
				//закрываем канал если он открыт
				s.close();
			}
			//Указывем что музыка не играет
			MusicPlay=false;
			///Если текущая радиостанция, последняя в списке, перескакиваю на первую
			if (curChanel==Data[1].length-1) {
				curChanel=0;
			} else {
				//иначе просто плюсую 
				curChanel+=1;
			}
			//Получаем ссылку радиостанции из массива
			nextTitle.load(new URLRequest(Data[1][curChanel]));
			nextTitle.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
			//Грузим её
			s=nextTitle;
			//Воспроизводим
			sc=s.play(0);
			//Указывем что музыка играет
			MusicPlay=true;
			//Обновляем текстовое поле
			update();
		}
 
		public function SoundPrev(e:MouseEvent) {
			//Останавливаю музыку
			sc.stop();
			if (s) {
				//закрываем канал если он открыт
				s.close();
			}
			//Указывем что музыка не играет
			MusicPlay=false;
			///Если текущая радиостанция меньше, чем минимальная в списке, перескакиваю на последнюю
			if (curChanel<=0) {
				curChanel=Data[1].length-1;
			} else {
				//иначе просто отнимаем
				curChanel-=1;
			}
			//Получаем ссылку радиостанции из массива
			nextTitle.load(new URLRequest(Data[1][curChanel]));
			nextTitle.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
			//Грузим её
			s=nextTitle;
			//Воспроизводим
			sc=s.play(0);
 
			//Указывем что музыка играет
			MusicPlay=true;
			//Обновляем текстовое поле
			update();
		}
 
		private function update() {
			//Обновляем текстовое поле и отображаем название радиостанции
			BackGround.name_txt.text=Data[0][curChanel];
			///Показываем кнопку stop если play нажата и наоборот
			if (MusicPlay==true) {
				Play.visible=false;
				Stop.visible=true;
			} else {
				Play.visible=true;
				Stop.visible=false;
			}
		}
		////Для изменения прозрачности кнопок при наведении
		private function startTooltipCounter(e:MouseEvent):void {
			e.currentTarget.alpha=0.6;
		}
 
		private function hideTooltip(e:MouseEvent):void {
			e.currentTarget.alpha=1;
		}
		///Меняем звук в зависимости от того какая кнопка нажата
		private function VolumeChange(e:MouseEvent):void {
			var mod:SoundTransform = new SoundTransform();
            //переменная хранящая имя нажатой кнопки
			var presedV:String;
			//получаю имя нажатой кнопки
			presedV=String(e.currentTarget.name);
			//Регулирую звук
			mod.volume =(Number(presedV.substr(1,1))-1)*0.33 ;
			//применяю громкость к звуковому каналу
			sc.soundTransform=mod;
            ///циклы для кнопок звука
			for (var i:Number=1; i<=4; i++) {
				Vol['v'+i+'_btn'].alpha=0.3;
			}
 
			for (i=1; i<=(Number(presedV.substr(1,1))-1)+1; i++) {
				Vol['v'+i+'_btn'].alpha=1;
			}
		}
	}
}
__________________
Миксер впечатлений...
Самое интересное что я на творил!


Последний раз редактировалось dimarik; 08.05.2011 в 09:38.
Создать новую тему   Часовой пояс GMT +4, время: 01:23.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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