problem with sample code
Hi,I'm starting to study FMS3 and have it running locally in my machine. I've been using this book "Learning Flash Media Server 3" by William Sanders. In the second chapter there is code for a simple video recording application. Almost everything works except that when I press the record button I get this error message:
Error #2044: Unhandled NetStatusEvent:. level=error, code=NetStream.Publish.BadName
at MinRecord/::checkConnect()
The code for the application follows, any ideas?
package
{
import fl.controls.Button;
import fl.controls.TextInput;
import flash.display.Sprite;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.events.NetStatusEvent;
import flash.events.MouseEvent;
import flash.events.Event;
//import flash.net.ObjectEncoding;
import flash.media.Camera;
import flash.media.Microphone;
import flash.media.Video;
public class MinRecord extends Sprite
{
private var nc:NetConnection;
private var ns:NetStream;
private var rtmpNow:String;
private var msg:Boolean;
private var cam:Camera;
private var mic:Microphone;
private var vid1:Video;
private var recordBtn:Button;
private var stopBtn:Button;
private var textInput:TextInput;
//Constructor
function MinRecord ()
{
//NetConnection.defaultObjectEncoding = flash.net.ObjectEncoding.AMF0;
nc=new NetConnection();
nc.addEventListener (NetStatusEvent.NET_STATUS,checkConnect);
//rtmpNow="rtmp://192.168.0.1.101/vid2/recordings";
rtmpNow="rtmp:/vid2/recordings";
nc.connect (rtmpNow);
addMedia ();
addUI ();
recordBtn.addEventListener (MouseEvent.CLICK,startRecord);
stopBtn.addEventListener (MouseEvent.CLICK,stopRecord);
}
private function addMedia ():void
{
cam=Camera.getCamera();
cam.setMode (240,180,24);
cam.setQuality (0,90);
mic=Microphone.getMicrophone();
vid1=new Video(cam.width,cam.height);
vid1.attachCamera (cam);
addChild (vid1);
vid1.x=100;
vid1.y=50;
}
private function addUI ():void
{
recordBtn=new Button();
recordBtn.label="Record";
recordBtn.x=100;
recordBtn.y=50+(cam.height) +5;
recordBtn.width=70;
addChild (recordBtn);
stopBtn=new Button();
stopBtn.label="Stop Record";
stopBtn.x=recordBtn.x+85;
stopBtn.y=recordBtn.y;
stopBtn.width=75;
addChild (stopBtn);
textInput=new TextInput();
textInput.x=recordBtn.x;
textInput.y=recordBtn.y + 30;
addChild (textInput);
}
private function checkConnect (e:NetStatusEvent):void
{
msg=(e.info.code=="NetConnection.Connect.Success");
if (msg)
{
ns = new NetStream(nc);
}
}
private function startRecord (e:Event):void
{
if (ns)
{
recordBtn.label="Recording";
ns.attachAudio (mic);
ns.attachCamera (cam);
ns.publish (textInput.text,"record");
}
}
private function stopRecord (e:Event):void
{
recordBtn.label="Record";
ns.close ();
}
}
}
