Flash ActionScript を使用して rtmp ストリームを再生できるシンプルな Flash Player を作りたかっただけです ...
これが私のコードです:
import flash.display.Sprite;
import flash.net.NetConnection;
import flash.net.NetStream;
import flash.media.Video;
import flash.events.*;
var nc : NetConnection;
var ns : NetStream;
var vid : Video;
var monitorBufferLengthEverySecond:uint;
var counter:uint;
vid=new Video();
vid.width=640;
vid.height=480;
trace("Create ... NetConnection");
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatus);
nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, netSecurityError);
nc.connect("rtmp://x.x.x.x/live");
function netStatus(event:NetStatusEvent):void
{
trace("Net Satus: "+ event.info.code);
if(event.info.code == "NetConnection.Connect.Success")
{
trace("Net Satus is OK");
trace("Creating NetStream");
ns = new NetStream(nc);
var infoClient:Object = new Object();
infoClient.onMetaData = function oMD():void {};
infoClient.onCuePoint = function oCP():void {};
ns.client = infoClient;
ns.play("IPCamera.stream");
vid.attachNetStream(ns);
monitorBufferLengthEverySecond = setInterval(monPlayback, 1000);
}
}
function netSecurityError(event:SecurityErrorEvent):void
{
trace("Security error: " + event);
}
function monPlayback():void
{
// Print current buffer length
trace((++counter)+ " Buffer length: " + ns.bufferLength);
}
接続は成功しています *しかし*バッファをチェックしようとすると、長さが常に "0" になります...そして、RTMP ストリームを見ることができません...
なぜこれが起こるのですか?私は何を間違っていますか?何か案は?