2

Я работаю над приложением Flex, которое отправляет фид с моей веб-камеры на сервер Flash Media. Приложение прекрасно подключается к серверу, но по какой-то причине камера ничего не отправляет на Медиа-сервер. Я уверен, что ответ на мой вопрос очень прост, но мне нужен еще один взгляд на мой код и сказать мне, что я делаю неправильно. Любая помощь будет очень! ВЕЛИКОЕ .. оценено. Мне нужно сохранить немного волос, которые у меня остались! вот функция ... еще раз спасибо.live streaming Flex

private function Publisher():void{ 

      var camera1:Camera = Camera.getCamera(); 
      var video:Video = new Video(285, 254); 
      if (camera1) 
      { 
       video.attachCamera(camera1); 
       VideoDisplay1.addChild(video); 
       camera1.addEventListener(ActivityEvent.ACTIVITY, camera_activity); 
       camera1.addEventListener(StatusEvent.STATUS, camera_status); 
      } 

      var nc:NetConnection = new NetConnection(); 
      nc.connect("rtmp://po9nawn4.rtmphost.com/Application"); 
      nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler); 

      function netStatusHandler(event:NetStatusEvent):void { 
       switch (event.info.code) { 
        case "NetConnection.Connect.Success": 
         var ns:NetStream = new NetStream(nc); 
         ns.attachCamera(camera1); 
         ns.publish("test", "live"); 
         break; 
        case "NetStream.Play.StreamNotFound": 
         trace("Unable to locate video: "); 
         break; 
       } 
      } 

     } 
+0

Merged ваш незарегистрированный счет в зарегистрированном один. – Will

+0

Вы видели мой ответ? – www0z0k

+0

Я только что видел. В течение последних 3-4 дней я не мог подключиться к Интернету. Я попробую сегодня вечером и дам вам знать. Я очень хочу попробовать. Большое спасибо за вашу помощь. –

ответ

0

попытка перемещения netStatusHandler вне Publisher
и кстати вы подключаете приложение FMS по умолчанию? fms_adminConsole.swf показывает вашего клиента?
UPD:

package { 
/** 
* ... 
* @author www0z0k 
*/ 
    import flash.events.NetStatusEvent; 
    import flash.media.Camera; 
    import flash.media.Video; 
    import flash.net.NetConnection; 
    import flash.net.NetStream; 
    import flash.display.Sprite; 
    [SWF(width='400', height='300', frameRate='30')] 
    public class NewClass extends Sprite { 
    private var vid:Video; 
    private var nc:NetConnection; 
    private var ns:NetStream; 
    private var baseUrl:String = 'rtmp://192.168.1.100/live'; 
    private var appUrl:String = 'stream1'; 
    private var cam:Camera; 
    public function NewClass() { 
     vid = new Video(); 
     addChild(vid); 
     cam = Camera.getCamera(); 
     vid.attachCamera(cam); 
     nc = new NetConnection(); 
     nc.addEventListener(NetStatusEvent.NET_STATUS, onStatus); 
     nc.connect(baseUrl); 
    } 

    private function onStatus(e:NetStatusEvent):void { 
      switch (e.info.code) { 
      case "NetConnection.Connect.Success": 
       ns = new NetStream(nc, NetStream.CONNECT_TO_FMS); 
       ns.attachCamera(cam); 
       ns.addEventListener(NetStatusEvent.NET_STATUS, onStatus); 
       ns.publish(appUrl, 'live'); 
       break; 
      } 
     } 
    } 
} 

отлично работает на моем Дев FMS

+0

Огромное спасибо 0z0k за ваш ответ. Я пробовал перемещать сеть StatusHandler за пределами издателя, но я получаю сообщение об ошибке, что «объект NetConnection должен быть подключен» ERROE #: 2126 Я пробовал несколько способов лисицы, но без успеха, поэтому я положил его обратно где это было. Я разрешил приложение FMS. Я просто назвал имя в ссылке rtmp для публикации на форуме. adminConsole показывает мне название потока, который я публикую. –

+0

try 'var ns: NetStream = новый NetStream (nc, NetStream.CONNECT_TO_FMS);' – www0z0k

+0

Я просто добавил его в код и ничего не происходит. Было бы неплохо добавить этот аргумент к конструктору конструктора NetStream. То, что я ошеломляю, - это то, что я создал одно и то же приложение во Flash (очень смягченная версия моего приложения Flex), и он работает. Но когда я возвращаюсь к гибкости, ничего не происходит. –