![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2010
Сообщений: 5
|
Доброго времени суток.
Возникла необходимость реализовать через 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. |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
пишите код в классах:
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; } } } |
|
|||||
|
Регистрация: Oct 2010
Сообщений: 5
|
Спасибо)
Как раз нашел решение проблемы...все оказалось проще.(через свойства видимости кнопки е т ц) Вопрос номер 2: Пытаюсь проверить доступность сервера внутри функции act_1(то есть при загрузке потока,дабы в случаи 404 выдать сообщение): .... 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; //далее отправка сообщения в текстполе } Не подскажете какую-нибудь альтернативу? Последний раз редактировалось ShitZu; 21.10.2010 в 21:23. |
|
|||||
|
Цитата:
__________________
...вселенская грусть |
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
Цитата:
|
|
|||||
|
Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
|
|
|
|||||
|
Регистрация: Feb 2007
Сообщений: 563
|
Цитата:
|
|
|||||
|
господа in4core и AlexDesigner, я вас призываю к большей толерантности к новичкам в вопросе и их топикам..все мы такие были.
если нечего по делу сказать/спросить, лучше не писать вообще, учитывая, что сами то не далеко пока ушли (ИМХО) п.с. сори за оффтоп, просто читать противно п.п.с если код рабочий, то он будет и в кадре работать
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
|
|
![]() |
![]() |
Часовой пояс GMT +4, время: 13:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|