打印

[AS3] AS3路上Question2:老说:ArgumentError: Error #2126: 必须连接 NetConnection 对象

var myNC:NetConnection = new NetConnection();
  myNC.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
  myNC.objectEncoding = ObjectEncoding.AMF0;
  var Myurl = "rtmp://localhost/ok";
  myNC.connect(Myurl);
  function netStatusHandler(event:NetStatusEvent):void {
     if (event.info.code == "NetConnection.Connect.Success") {
         trace("连接成功");
     }
        else
        {
               trace(event.info.code);
         }
  }
  var myNS:NetStream = new NetStream(myNC);
  myNS.publish("lecture", "record");

这是我的代码,经过 noahgenius的指点,可以正确连接服务器了,但是总出现
ArgumentError: Error #2126: 必须连接 NetConnection 对象
这样的错误,我查了一些资料,还在郁闷ing

以上解决了,就是把
var myNS:NetStream = new NetStream(myNC);
  myNS.publish("lecture", "record");
放在第一个IF语句块下,为什么我也不大清楚,noahgenius 大侠说

myNC还没连接好呢!


不好意思啊,,问题又来了



  
  var myNC:NetConnection = new NetConnection();
  
  myNC.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

  myNC.objectEncoding = ObjectEncoding.AMF0;
  var Myurl = "rtmp://localhost/ok";
  myNC.connect(Myurl);
  video_r.attachCamera(Camera.getCamera());
  var myNS:NetStream;
  function netStatusHandler(event:NetStatusEvent):void {
     if (event.info.code == "NetConnection.Connect.Success") {
         trace("连接成功");
                myNS = new NetStream(myNC);
          myNS.attachCamera(Camera.getCamera());
                var myMicr:Microphone=Microphone.getMicrophone();
                if(myMicr!=null){
                       trace(myMicr.name);
                }
                myNS.attachAudio(myMicr);
                btnRecord.addEventListener(MouseEvent.CLICK,btnClickHandle);
                                  //btnStop.addEventListener(MouseEvent.CLICK,btnStopClickHandle);
        }
        else
        {
               trace(event.info.code);
         }
  }
  function btnClickHandle(event:MouseEvent):void{
          myNS.publish("lecture", "record");
          btnRecord.removeEventListener(MouseEvent.CLICK,btnClickHandle);
  }

我已经把不需要的功能都去掉了,但代码还是可以正确运行的,但是有一个问题唉
                var myMicr:Microphone=Microphone.getMicrophone();
                if(myMicr!=null){
                       trace(myMicr.name);
                }
                myNS.attachAudio(myMicr);
这个是我想捕获音频的代码,但是无效只抓到了视频,,,WHY???
音量,麦,我想应该都是没有问题的
myNS.publish("lecture", "record");
后,为什么只能抓视频呢?大侠们来给我说说,嘿

[ 本帖最后由 anncesky 于 2007-9-6 13:06 编辑 ]
在线等呢。。。。。。。。。。。。。。。。。。。。。
up.....................................
把这两个
var myNS:NetStream = new NetStream(myNC);
myNS.publish("lecture", "record");
都放到
trace("连接成功");

myNC还没连接好呢

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
我自己搞定了

TOP

哦,谢谢哦,嘿,我也是这么干,不过有一点不懂唉
myNC.connect(Myurl);
不是已经连接成功了吗?
还返回连接的状态了啊 event.info.code

TOP