Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   NetStream (http://www.flasher.ru/forum/showthread.php?t=195122)

leff27 28.02.2013 19:47

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

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

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


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

illuzor 28.02.2013 21:13

Покажите код

leff27 28.02.2013 21: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
                }
        }
 
}


illuzor 01.03.2013 00:49

Цитата:

глухо, ошибок вообще нет
Как вы дебажете то? Есть ошибка:
Цитата:

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

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

leff27 01.03.2013 02:36

...
ip и port - слова, в реальном коде это действующий адрес и порт

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

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

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

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

Zebestov 01.03.2013 03:30

Название темы не отражает сути вопроса.


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

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