|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jun 2011
Сообщений: 8
|
Воспроизвсти rtmp через Vidеo\NetConnection\NetStream
Здравствуйте.
Помогите пожалуйста. Нашёл тут рецептик, с http/flv работает, но с rtmp/f4v упорно не хочет, хотя в доках написано что он и его должен проигрывать. Похоже, не происходит событие, вызывающее onNetStatus(), хотя с flv всё работает. connect() происходит - в label выводится адрес, но дальше дело не идёт... Где тут косяк? <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" * * *xmlns:s="library://ns.adobe.com/flex/spark" * * *xmlns:mx="library://ns.adobe.com/flex/mx" * * *applicationComplete="connect()" * * *backgroundAlpha="0.0" contentBackgroundAlpha="0.0" * * *creationComplete="init()"> <fx:Script> *<![CDATA[ * import mx.utils.ObjectUtil; * * [Bindable] private var nc:NetConnection; * private var ns:NetStream; * private var video:Video; * private var meta:Object; * private var nsClient:Object = {}; * * private function init():void { * *nsClient.onMetaData = ns_onMetaData; * *nsClient.onCuePoint = ns_onCuePoint; * } * * private function connect():void { * *nc = new NetConnection(); * *nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus); * *nc.connect("rtmp://fmsexamples.adobe.com/vod/mp4:_cs4promo_1000.f4v"); * *lb.text = nc.uri; * } * * private function onNetStatus():void { * * *lb.text = nc.uri; * * * *ns = new NetStream(nc) * *ns.client = nsClient; * * * *video = new Video(); * *video.attachNetStream(ns); * *uic.addChild(video); * *ns.play(nc); * } |
|
|||||
Регистрация: Oct 2010
Сообщений: 18
|
попробуй просто добавить в приложение
<s:VideoDisplay source="rtmp://fmsexamples.adobe.com/vod/mp4:_cs4promo_1000.f4v" autoPlay="true"/> если твой играть не будет - проблема в нем |
|
|||||
Регистрация: Jun 2011
Сообщений: 8
|
Дело в том что видео дисплэй как раз играет.
Но он имеет свой внутренний стрим. до которого нельзя добраться чтобы снимать информациюо количестве скачанных байт в единицу времени. |
|
|||||
Регистрация: Oct 2009
Сообщений: 72
|
Я код чутка поменял(в целях быстрого разбора полетов).
1. NetConnection обычно соединяется с такой структурой: адрес/приложение/инстанс. Т.е. на мой взгляд, коннект сюда -> rtmp://fmsexamples.adobe.com/vod/mp4:_cs4promo_1000.f4v неверен. 2. NetStream`y желательно скармливать название того потока, который нужно играть. private var nc:NetConnection; private var ns:NetStream; private var video:Video; private var meta:Object; private var nsClient:Object = {}; private function connect():void { nsClient.onBWDone = function():void {trace("BWDone");} nsClient.onMetaData = function():void {trace("onMetaData");} nsClient.onCuePoint = function():void {trace("onCuePoint");} nc = new NetConnection(); nc.client = nsClient; nc.addEventListener(NetStatusEvent.NET_STATUS,onNetStatus); nc.connect("rtmp://fmsexamples.adobe.com/vod/"); } private function onNetStatus(event:NetStatusEvent):void { if (event.info.code == "NetConnection.Connect.Success") { ns = new NetStream(nc); ns.client = nsClient; ns.play("mp4:_cs4promo_1000.f4v"); video = new Video(); video.attachNetStream(ns); uic.addChild(video); } } Последний раз редактировалось _SoWa; 06.07.2011 в 09:51. |
|
|||||
Регистрация: Jun 2011
Сообщений: 8
|
Большое спасибо, ща проверю, и в новом проекте попробую заменить VideoDisplay на такую связку.
Добавлено через 30 часов 44 минуты Блин, работать то работает, но свойства ns.bytesLoaded и ns.bytesTotal, а также значения буферов по нулям. А мне байты нужны что измерить скорость входящего видеопотока. |
Часовой пояс GMT +4, время: 23:22. |
|
« Предыдущая тема | Следующая тема » |
Теги |
flex , rtmp , streaming , video |
|
|