Форум 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.
Старый 07.05.2011, 20:02
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 2  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Код AS3:
SoundPlay(null)
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 07.05.2011, 20:24
forward вне форума Посмотреть профиль Отправить личное сообщение для forward Посетить домашнюю страницу forward Найти все сообщения от forward
  № 3  
Ответить с цитированием
forward
 
Аватар для forward

Регистрация: Jul 2007
Адрес: Украина Днепропетровск
Сообщений: 312
Записей в блоге: 1
Цитата:
Сообщение от Dukobpa3 Посмотреть сообщение
Код AS3:
SoundPlay(null)
Это работает если в функции запускать а как просто ее запустить?
__________________
Миксер впечатлений...
Самое интересное что я на творил!

Старый 07.05.2011, 20:26
Dukobpa3 вне форума Посмотреть профиль Отправить личное сообщение для Dukobpa3 Найти все сообщения от Dukobpa3
  № 4  
Ответить с цитированием
Dukobpa3
 
Аватар для Dukobpa3

блогер
Регистрация: Oct 2010
Адрес: Киев
Сообщений: 1,678
Записей в блоге: 12
Отправить сообщение для Dukobpa3 с помощью Skype™
Кто-то из нас двоих тупит...
__________________
Кто к нам с чем для чего - тот у нас того от того.

Старый 07.05.2011, 20:39
honest_man вне форума Посмотреть профиль Отправить личное сообщение для honest_man Найти все сообщения от honest_man
  № 5  
Ответить с цитированием
honest_man

Регистрация: Aug 2010
Сообщений: 86
Из нас троих... Подозреваю что тупят 2 из трех! =D
Не врубаюсь что значит "запустить со старта"? В метод-конструктор никак не всунуть?

Старый 07.05.2011, 20:56
forward вне форума Посмотреть профиль Отправить личное сообщение для forward Посетить домашнюю страницу forward Найти все сообщения от forward
  № 6  
Ответить с цитированием
forward
 
Аватар для forward

Регистрация: Jul 2007
Адрес: Украина Днепропетровск
Сообщений: 312
Записей в блоге: 1
Все разобрался спасибо )
__________________
Миксер впечатлений...
Самое интересное что я на творил!

Старый 07.05.2011, 21:21
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 7  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Так кто на самом деле тупил? Присоединяюсь к тупившим.
ЗЫ. форматирование кода после ядерного взыва?
__________________
тут я

Старый 08.05.2011, 03:44
in4core вне форума Посмотреть профиль Отправить личное сообщение для in4core Найти все сообщения от in4core
  № 8  
Ответить с цитированием
in4core
[+4 06.05.14]
 
Аватар для in4core

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
ЗЫ. форматирование кода после ядерного взыва?
Скорее по уроку, или исходник
__________________
Марк Tween

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

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

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


 


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


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