Error When Streaming Using AS3
Hello Guys, I am trying to stream my webcam using AS3 code but I keep receiving this error message in the output panel when I run the application:
ArgumentError: Error #2126: NetConnection object must be connected.
at flash.net::NetStream/ctor()
at flash.net::NetStream()
At first I listen for the NetStatusEvent status and the connection succeded![]()
But when i include the NetStream class I receive that annoying error. I think this is the relevant code. Any ideas why it isnt working?
import flash.net.NetConnection;
import flash.events.NetStatusEvent;
import flash.net.NetStream;
import flash.media.Camera;
import flash.events.StatusEvent;
import flash.media.Video;
import flash.media.Microphone;
var nc:NetConnection = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatus);
nc.connect("rtmfp://localhost/streamCamUrl");
var ns:NetStream = new NetStream(nc);
ns.publish("live", "recording");
function netStatus(event:NetStatusEvent):void{
switch(event.info.code){
case "NetConnection.Connect.Success":
trace("Connecting up...");
break;
case "NetConnection.Connect.Failed":
trace("Unable to Connect");
break;
case "NetConnection.Connect.Rejected":
trace("Ouchh!");
break;
case "NetStream.Connect.Success":
trace("Thats great!");
break;
case "NetStream.Connect.Failed":
trace("Livestream");
break;
}
}
var cam:Camera = Camera.getCamera();
cam.setMode(520,320,15);
cam.setQuality(0, 80);
ns.attachCamera(cam);
cam.addEventListener(StatusEvent.STATUS, statusHandler);
var vid:Video = new Video();
vid.height = cam.height;
vid.width = cam.width;
vid.attachCamera(cam);
addChild(vid);
var mic:Microphone = Microphone.getEnhancedMicrophone();
mic.gain = 50;
mic.setSilenceLevel(0, 2000);
mic.framesPerPacket = 1;
mic.codec = SoundCodec.SPEEX;
ns.attachAudio(mic);
mic.addEventListener(ActivityEvent.ACTIVITY, this.onMicStatus);
function statusHandler(event:StatusEvent):void{
switch (event.code)
{
case "Camera.Muted":
trace("User clicked Deny.");
break;
case "Camera.Unmuted":
trace("User clicked Accept.");
break;
}
}
function onMicStatus(event:StatusEvent):void
{
if (event.code == "Microphone.Unmuted")
{
trace("Microphone access was allowed.");
}
else if (event.code == "Microphone.Muted")
{
trace("Microphone access was denied.");
}
}
