爲什麼不能連接?當我運行應用程序時,我在輸出中收到NetConnection.failed。你能否仔細看看我的代碼?我相信我的字符串網址是正確的。我不確定我的FMS是否關閉,或者是否有代碼錯誤。無法連接到FMS
謝謝
import flash.net.NetConnection;
import flash.events.NetStatusEvent;
import flash.net.NetStream;
import flash.media.Camera;
import flash.media.Video;
import flash.media.Microphone;
import fl.controls.Button;
var nc:NetConnection;
var ns:NetStream;
var cam:Camera;
var microphone:Microphone;
var vid:Video;
var connectButton:Button;
//Connecting to Flash Media Server
nc = new NetConnection();
nc.connect("rtmfp:/fms/streamExample");
nc.addEventListener(NetStatusEvent.NET_STATUS, netHandler);
function netHandler(event:NetStatusEvent):void
{
switch (event.info.code)
{
case "NetConnection.Connect.Success":
{
connectButton.label = "Disconnect";
connectButton.enabled = true;
sendButton.enabled = true;
onConnect();
break;
}
case "NetConnection.Connect.Closed":
{
connectButton.label = "Connect";
connectButton.enabled = true;
sendButton.enabled = false;
nc.close();
break;
}
case "NetConnection.Connect.Failed":
{
trace("Sorry your connection failed");
break;
}
case "NetConnection.Connect.Rejected":
{
trace("Oops the connection has been rejected");
break;
}
}
}
ns = new NetStream(nc);
ns.publish("live", "viewing");
ns.attachCamera();
//Setting the video
var vid:Video = new Video();
vid.height = cam.height;
vid.width = cam.width;
vid.x = 10;
vid.y = 10;
addChild(vid);
cam = Camera.getCamera();
cam.setMode(400, 300, 20);
cam.setQuality(0, 85);
cam.setKeyFrameInterval(18);
vid.attachCamera();
addChild(cam);
//Setting the audio
microphone = Microphone.getMicrophone();
microphone.codec = SoundCodec.SPEEX;
microphone.framesPerPacket = 1;
microphone.setSilenceLevel(0, 200);
microphone.gain = 50;
NetStream.attachAudio(microphone);
' 「RTMFP:/ FMS/streamExample」'不是一個有效的連接字符串。應該看起來像這樣:'「rtmfp://server.com/applicationName」'rtmfp有很多細微差別,首先嚐試讓你的應用程序使用rtmp(注意缺失的'f')。 – BadFeelingAboutThis 2013-03-20 00:26:59
另外,作爲一個補充,你會希望你的網絡連接監聽器在你調用'connect'之前添加爲最佳實踐。 – BadFeelingAboutThis 2013-03-20 00:31:20