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

Вернуться   Форум Flasher.ru > Flash > Flash Приложения: AIR, Zinc и тд.

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

Регистрация: Feb 2012
Сообщений: 36
Question NetStream

Всем доброго времени суток!
Впервые решил написать приложение для Android на Adobe Air, но что-то не ладится с NetStream.

Симптомы: при netStream.play('адрес потока.flv'); вылетает черный экран.

Пробовал дебажить - глухо, ошибок вообще нет.
Последний netStatus - netStatus.Buffer.Full


Кто-нибудь в курсе, как с этим бороться?

Старый 28.02.2013, 21:13
illuzor вне форума Посмотреть профиль Отправить личное сообщение для illuzor Найти все сообщения от illuzor
  № 2  
illuzor
 
Аватар для illuzor

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Покажите код

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

Регистрация: Feb 2012
Сообщений: 36
Вот примерный код. Не работает на моем SE LWW, Android 4.0.4 (официальная)

Возможно ли, что из-за предыдущего нерабочего кода перестал работать корректный код? У товарища работает, но также выскакивает "черный экран" на 2-3 секунды, потом играет поток.
Код AS3:
package  {
 
	import flash.display.MovieClip;
	import flash.media.Sound;
	import flash.media.SoundChannel;
	import flash.media.SoundTransform;
	import flash.net.NetConnection;
	import flash.net.NetStream;
	import flash.events.AsyncErrorEvent;
 
 
	public class testttt extends MovieClip {
		public var streamUrl:String = 'http://ip:port/aac?type=.flv';
		public var stream:Sound          = new Sound();
		public var channel:SoundChannel    = new SoundChannel();
		public var connect_nc:NetConnection = new NetConnection();
		public var ns:NetStream;
 
 
		public function testttt() {
			this.connect_nc.connect(null);
			this.ns = new NetStream(connect_nc);
 
			ns.addEventListener(AsyncErrorEvent.ASYNC_ERROR, ayncErrorHandler);
 
			this.ns.client = {};
			this.ns.client.onMetaData = ns_onMetaData;
			this.ns.client.onCuePoint = ns_onCuePoint;
			function ns_onMetaData(item:Object):void {
    			if(item['title'])trace(item['title']);
			}
			function ns_onCuePoint(item:Object):void {
   				trace("cuePoint");
    			trace(item.name + "\t" + item.time);
			}
			this.ns.client = this;
			this.ns.play(streamUrl);
		}
 
		private function ayncErrorHandler(event: AsyncErrorEvent): void {
			// ignore for now
		}
	}
 
}

Старый 01.03.2013, 00:49
illuzor вне форума Посмотреть профиль Отправить личное сообщение для illuzor Найти все сообщения от illuzor
  № 4  
illuzor
 
Аватар для illuzor

Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
Цитата:
глухо, ошибок вообще нет
Как вы дебажете то? Есть ошибка:
Цитата:
Error #2044: Unhandled NetStatusEvent:. level=error, code=NetStream.Play.StreamNotFound
at testttt()[...testttt.as:22]
Вам не кажется, что url странный? Наверное, вместо ip нужно вставить ip адрес, а вместо port - номер порта.
Конкретно air или андроид тут не при чём.
Также не понятно, при чём тут "чёрный экран", если у вас нет ни одного экранного объекта.

И ещё пара замечаний не по теме вопроса:
- вложенные функции есть зло,
- зачем все переменные уровня класса публичные?
- имена классов принято задавать с большой буквы.

Старый 01.03.2013, 02:36
leff27 вне форума Посмотреть профиль Отправить личное сообщение для leff27 Найти все сообщения от leff27
  № 5  
leff27

Регистрация: Feb 2012
Сообщений: 36
...
ip и port - слова, в реальном коде это действующий адрес и порт

Если запустить через ctrl+enter в Adobe Flash, то все играет корректно.
Если запустить через Debug to usb ..., то тоже черный экран.
Если запустить на устройстве, то при выполнение netStream.play(...); появится черный экран...

Как я определил, что "при выполнение netStream.play(...);"? Очень просто, если закомментировать эту строку, то реальное приложение продолжает функционировать на "ура".

Могу Вам заснять видео "как все происходит"...

P.S. Это примерный код, т.е. писался он "быстрее и проще"...

Старый 01.03.2013, 03:30
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 6  
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
Название темы не отражает сути вопроса.
__________________
Поймай яблоко 2!

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

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

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


 


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


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