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

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

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

Регистрация: Oct 2010
Сообщений: 5
Question Аудиоплеер на flash.

Доброго времени суток.
Возникла необходимость реализовать через flash плеер,который будет принимать аудиопоток с сервера.
Так как с AS ранее сталкивался лишь косвенно,возникло несколько вопросов)
Нужно,чтобы при нажатии на кнопку начиналось воспроизведение потока(избражение кнопки меняется на то что проставлено в кадре "down") ,при повторном нажатии на нее же ,останавливалось.(кнопка сбрасывается на состояние по дефолту.)
Код:
stop();

play_buttn.addEventListener(MouseEvent.CLICK,act_1);

function act_1(Event:MouseEvent)//функция кнопки "play" 1е нажатие
{
	import flash.media.Sound; 
    import flash.media.SoundLoaderContext; 
    import flash.net.URLRequest; 
 
    var s = "Global"; //  запиливаем "s" как глобальную перменную
    var req:URLRequest = new URLRequest("адрес сервера"); 
    var context:SoundLoaderContext = new SoundLoaderContext(1000, true); 
    s = new Sound(); // определяем s 
    s.load(req, context); // грузим поток
    s.play(); // слушаем.
	
    play_buttn.addEventListener(MouseEvent.CLICK,act_2); // 2 нажатие  - останавливает загрузку.
    function act_2(Event:MouseEvent)
	{
		s.stop();

		} 


}
Естественно сие недоразумение творение работает...не совсем так как нужно
Подскажите,пожалуйста,как это исправить?
Заранее спасибо.


Последний раз редактировалось ShitZu; 21.10.2010 в 19:09.
Старый 21.10.2010, 19:59
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 2  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
пишите код в классах:
Код AS3:
package 
{
 
	import flash.media.Sound;
	import flash.events.MouseEvent;
	import flash.media.SoundLoaderContext;
	import flash.net.URLRequest;
 
	public class Main extends MovieClip
	{
 
		var s:Sound;//  запиливаем "s" как глобальную перменную
		var req:URLRequest;
		var context:SoundLoaderContext;
 
		private var played:Boolean = false;
 
		public function Main()
		{
			s = new Sound();// определяем s 
			req = new URLRequest("адрес сервера");
			context = new SoundLoaderContext(1000,true);
 
			play_buttn.addEventListener(MouseEvent.CLICK,act_1);
 
		}
		private function act_1(e:MouseEvent):void
		{
			var playBtn:MovieClip = e.target as MovieClip();
 
			if (! played)
			{
				playBtn.gotoAndStop(2);
				s.load(req, context);// грузим поток
				s.play();// слушаем.
			}
			if(played)
			{
				playBtn.gotoAndStop(1);
				s.stop();
			}
			played = ! played;
		}
	}
}
не тестировал, возможно ошибку выдаст, если что опишите, поправлю - потестить нет времени.

Старый 21.10.2010, 21:19
ShitZu вне форума Посмотреть профиль Отправить личное сообщение для ShitZu Найти все сообщения от ShitZu
  № 3  
Ответить с цитированием
ShitZu

Регистрация: Oct 2010
Сообщений: 5
Спасибо)
Как раз нашел решение проблемы...все оказалось проще.(через свойства видимости кнопки е т ц)

Вопрос номер 2:
Пытаюсь проверить доступность сервера внутри функции act_1(то есть при загрузке потока,дабы в случаи 404 выдать сообщение):
Код AS3:
....
 
if (s.isBuffering == false)
	  {
                   try //останавливаем воспроизведение
               {
                      s_Chan.stop();
                      s_Chan = s.play(0);
                      s_Chan.stop();
                      s.close();
                } 
                   catch(e:Error){
                      s_Chan.stop();
                      s_Chan = s.play(0);
                      s_Chan.stop();
    } 
		  play_buttn.visible = true;    //возвращаем кнопки в исходное состояние                     
                  stop_buttn.visible = false;
 
                  //далее отправка сообщения в текстполе
		  }
isBuffering,я так понимаю тут лишнее,ибо ничего не дает
Не подскажете какую-нибудь альтернативу?


Последний раз редактировалось ShitZu; 21.10.2010 в 21:23.
Старый 21.10.2010, 21:34
gloomyBrain вне форума Посмотреть профиль Отправить личное сообщение для gloomyBrain Найти все сообщения от gloomyBrain
  № 4  
Ответить с цитированием
gloomyBrain
 
Аватар для gloomyBrain

блогер
Регистрация: Mar 2008
Адрес: РФ, Санкт-Петербург
Сообщений: 2,272
Записей в блоге: 5
Отправить сообщение для gloomyBrain с помощью ICQ Отправить сообщение для gloomyBrain с помощью Skype™
Цитата:
Код AS3:
try {
         s_Chan.stop();
         s_Chan = s.play(0);
         s_Chan.stop();
         s.close();
} catch(e:Error) {
        s_Chan.stop();
        s_Chan = s.play(0);
        s_Chan.stop();
}
Да, плохо дело... =) Понимаю, что Вам некогда, но все же стоило бы почитать доки, там все есть.
__________________
...вселенская грусть

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

Регистрация: Mar 2009
Сообщений: 4,219
Записей в блоге: 14
Цитата:
Да, плохо дело... =)
lol lol lol

Старый 22.10.2010, 11:08
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 6  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
Цитата:
Спасибо)
Как раз нашел решение проблемы...все оказалось проще.(через свойства видимости кнопки е т ц)
ппц, ну ладно, как знаете +)

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

Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
Цитата:
Сообщение от ShitZu Посмотреть сообщение
var s = "Global"; // запиливаем "s" как глобальную перменную
Что это?

Старый 22.10.2010, 16:17
AlexDesinger вне форума Посмотреть профиль Отправить личное сообщение для AlexDesinger Посетить домашнюю страницу AlexDesinger Найти все сообщения от AlexDesinger
  № 8  
Ответить с цитированием
AlexDesinger

Регистрация: Feb 2007
Сообщений: 563
Цитата:
Что это?
не прьтесь, ввиду того, что код написан в кадре, остальное можно не читать.

Старый 22.10.2010, 18:08
cleptoman вне форума Посмотреть профиль Отправить личное сообщение для cleptoman Найти все сообщения от cleptoman
  № 9  
Ответить с цитированием
cleptoman
 
Аватар для cleptoman

блогер
Регистрация: Mar 2007
Сообщений: 1,291
Записей в блоге: 5
Отправить сообщение для cleptoman с помощью ICQ
господа in4core и AlexDesigner, я вас призываю к большей толерантности к новичкам в вопросе и их топикам..все мы такие были.
если нечего по делу сказать/спросить, лучше не писать вообще, учитывая, что сами то не далеко пока ушли (ИМХО)

п.с. сори за оффтоп, просто читать противно
п.п.с если код рабочий, то он будет и в кадре работать
__________________
http://cleptoman.free-lance.ru
achivements: дважды благословлен на воровство. осеяный благодатью

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

Регистрация: Feb 2006
Сообщений: 884
Записей в блоге: 2
Отправить сообщение для djyamato с помощью ICQ Отправить сообщение для djyamato с помощью Skype™
Цитата:
Сообщение от cleptoman Посмотреть сообщение
п.п.с если код рабочий, то он будет и в кадре работать
Поддерживаю

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

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

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


 


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


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