![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Oct 2012
Сообщений: 23
|
Я даже не знаю что и говорить, то есть включаем трансляцию и тут же пытаюсь посмотреть с другого компа - иногда сразу недоступно, иногда через 5-10 минут становится недоступным.
Момент, когда невозможно более подключиться к трансляции назову я момент Х. Если я включил трансляцию, и уже после наступит момент Х, то я дальше могу смотреть видео, могу нажать стоп-старт, но подключиться по новой к данной трансляции я не смогу с другой вкладки или с другого браузера. Просто серый экран и всё. Есть ситуация после наступления Х, когда всё же трансляция включается, то есть поток начинает идти в случаях события: "NetStream.Video.DimensionChange", а именно изменение потока, его размеров (или потока). То есть до наступления Х после события "NetStream.Play.Start" трансляция включается нормально. Чтобы трансляция включилась нормально после момента Х, уже необходимо "DimensionChange", при этом оно возникает если саму трансляцию нажать "стоп-старт". Так же хочу заметить, что для блока с видео videoWidth и videoHeight равны нулю. Ошибок никаких нет. Если я включаю трансляцию по следующему коду, то происходит событие: "NetStream.Play.Start" в любом случае, так как трансляция всегда есть, но кадров в экране нет, ничего не отображается. Вот код: var SServerAddress2:String = 'rtmp://ip:1935/live'; var NCs2:NetConnection = new NetConnection(); var ns_playback2:NetStream; var video_playback2:Video = new Video(480, 360); NCs2.objectEncoding = ObjectEncoding.AMF3; NCs2.addEventListener(NetStatusEvent.NET_STATUS, connectStatusEvent); NCs2.connect(SServerAddress2); var video_name:String = 'girl_12452_3c7ca074b799382dba05ef20c7db6d6f'; function connectStatusEvent(e:NetStatusEvent):void { ExternalInterface.call( "console.log", 'ServerStatus: ' + e.info.code); switch(e.info.code) { case 'NetConnection.Connect.Success': ns_playback2 = new NetStream(NCs2); ns_playback2.addEventListener(NetStatusEvent.NET_STATUS, statusHandlerNS); ns_playback2.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); ns_playback2.play(video_name, -1); video_playback2 = new Video(480, 360); video_playback2.attachNetStream(ns_playback2); break; } } function statusHandlerNS(event:NetStatusEvent):void { ExternalInterface.call( "console.log", 'VIDEOSTATUS: ' + event.info.code); // NetStream.Play.Start if(event.info.code == 'NetStream.Play.Start') { video_playback2.attachNetStream(ns_playback2); stage.addChild(video_playback2); ExternalInterface.call( "console.log", 'ShowVideo: ' + video_name); ExternalInterface.call( "console.log", 'width: ' + video_playback2.videoWidth + ' and height: ' + video_playback2.videoHeight); } } function asyncErrorHandler(event:AsyncErrorEvent):void { ExternalInterface.call( "console.log", 'VIDEOSTATUS ERROR: ' + event.error); } function myInt():void { ExternalInterface.call( "console.log", 'width: ' + video_playback2.videoWidth + ' and height: ' + video_playback2.videoHeight); } setInterval(myInt,2000); Я прям не знаю куда копать и что искать... Добавлено через 7 минут Может вообще код кривой, вы так и скажите... ![]() |
|
|||||
|
Регистрация: Oct 2012
Сообщений: 23
|
var SServerAddress2:String = 'rtmp://ip:1935/live'; var NCs2:NetConnection = new NetConnection(); var ns_playback2:NetStream; var video_playback2:Video = new Video(480, 360); NCs2.objectEncoding = ObjectEncoding.AMF3; NCs2.addEventListener(NetStatusEvent.NET_STATUS, connectStatusEvent); NCs2.connect(SServerAddress2); var video_name:String = 'girl_12452_3c7ca074b799382dba05ef20c7db6d6f'; function connectStatusEvent(e:NetStatusEvent):void { ExternalInterface.call( "console.log", 'ServerStatus: ' + e.info.code); switch(e.info.code) { case 'NetConnection.Connect.Success': ns_playback2 = new NetStream(NCs2); ns_playback2.addEventListener(NetStatusEvent.NET_STATUS, statusHandlerNS); ns_playback2.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler); ns_playback2.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler2); ns_playback2.play(video_name); video_playback2 = new Video(480, 360); video_playback2.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); video_playback2.attachNetStream(ns_playback2); break; } } function ioErrorHandler(event:IOErrorEvent):void { ExternalInterface.call("console.log", "ioErrorHandler: " + event); } function ioErrorHandler2(event:IOErrorEvent):void { ExternalInterface.call("console.log", "ioErrorHandler2: " + event); } function statusHandlerNS(event:NetStatusEvent):void { ExternalInterface.call( "console.log", 'VIDEOSTATUS: ' + event.info.code); // NetStream.Play.Start if(event.info.code == 'NetStream.Play.Start') { video_playback2.attachNetStream(ns_playback2); stage.addChild(video_playback2); ExternalInterface.call( "console.log", 'ShowVideo: ' + video_name); ExternalInterface.call( "console.log", 'width: ' + video_playback2.videoWidth + ' and height: ' + video_playback2.videoHeight); } } function asyncErrorHandler(event:AsyncErrorEvent):void { ExternalInterface.call( "console.log", 'VIDEOSTATUS ERROR: ' + event.error); } function myInt():void { ExternalInterface.call( "console.log", 'v3: width: ' + video_playback2.videoWidth + ' and height: ' + video_playback2.videoHeight); } setInterval(myInt,2000); Последний раз редактировалось inpost; 21.11.2013 в 08:23. |
![]() |
![]() |
Часовой пояс GMT +4, время: 13:10. |
|
|
« Предыдущая тема | Следующая тема » |
|
|