开发者

Linking a webcam in a flex application

开发者 https://www.devze.com 2023-04-06 17:41 出处:网络
i am having a very strange problem while linking a webcam i xperience following error ArgumentError: Error #2126: NetConnection object must be connected.

i am having a very strange problem while linking a webcam i xperience following error

ArgumentError: Error #2126: NetConnection object must be connected. at flash.net::NetStream/ctor() at flash.net::NetStream()

Following is my code in main.mxml

 <fx:Script>
   <![CDATA[
       import flash.media.Camera;
       import flash.media.Video;
       import flash.net.NetConnection;
       import mx.core.UIComponent;
       import com.kahaf.plutay.* ;    

       private var inVideo:Video;
       private var outVideo:Video;
       private var inVideoWrapper:UIComponent;
       private var camera:Camera;
       private var mic:Microphone;
       private var inStream:NetStream;
       private var outStream:NetStream;

       private function defaultVideoMode(): void
       {
          VideoPanel.width = 726;
           VideoPanel.height = 494;
           inVideo.width = 726;
           inVideo.height = 494;
       }

       private function showInComingVideo():void
       {
           inVideo = new Video(VideoPanel.width,VideoPanel.height);
           inVideo.attachNetStream(inStream);
           inVideoWrapper = new UIComponent();
           inVideoWrapper.addChild(inVideo);
           VideoPanel.addElement(inVideoWrapper);
           defaultVideoMode();
        }


       private function setupVideo(event:MouseEvent): void
       {
           camera = Camera.getCamera();
           mic = Microphone.getMicrophone();
           mic.setLoopBack(false); 
           mic.setUseEchoSuppression(tru开发者_如何学运维e);
           camera.setMode(640,480,20);
           camera.setQuality(65536,90);

           var conn:NetConnection = Connection.getConnection().conn;

           inStream = new NetStream(conn);
           inStream.play(conn);
           showInComingVideo();
       } 
   ]]>

<s:Group x="283" y="330" width="234" height="149" id="VideoPanel" >
</s:Group>
<s:Button x="447" y="151" label="Click Me." click="setupVideo(event)"/>

here is the code of my connection class :

import flash.net.NetConnection;

public class Connection extends NetConnection
{
    public static var conObj:Connection;
    public var conn:NetConnection;
    public var target:Object;
    public var selector:Function;

    public function Connection()
    {
        conn = new NetConnection;
        target = null;
        selector = null;
        conn.client = this;
}

    public static function getConnection():Connection
    {
        if(conObj == null)
        {
            conObj = new Connection();
        }
            return conObj;
    }
    }


This the correct order when handling NetConnection and NetStreams:

  1. Create and establish the NetConnection (NetConnection.connect())
  2. Wait for the NetConnection.Connect.Success event (NetStatusEvent.NET_STATUS)
  3. Create your NetStream and attach the connected NetConnection to it
  4. Publish/play your stream
0

精彩评论

暂无评论...
验证码 换一张
取 消