Sto lavorando a un prototipo in cui devo riprodurre un video tramite il protocollo RTMP. Il mio codice è il seguente:Come posso riprodurre un video RTMP tramite netConnection e netStream
private function init():void
{
streamID:String = "mp4:myVideo";
videoURL = "rtmp://fms.xstream.dk/*********.mp4";
vid = new video();
vid.width = 480;
vid.height = 320;
nc = new NetConnection();
nc.client = {onBWDone: function():void
{
}};
nc.addEventListener(NetStatusEvent.NET_STATUS, onConnectionStatus);
nc.connect(videoURL);
}
private function onConnectionStatus(e:NetStatusEvent):void
{
if (e.info.code == "NetConnection.Connect.Success")
{
trace("Creating NetStream");
netStreamObj = new NetStream(nc);
netStreamObj.client = new CustomClient();
netStreamObj.play(streamID);
vid.attachNetStream(netStreamObj);
addChild(vid);
intervalID = setInterval(playback, 1000);
}
}
private function playback():void
{
trace((++counter) + " Buffer length: " + netStreamObj.bufferLength);
}
class CustomClient
{
public function onMetaData(info:Object):void
{
trace("metadata: duration=" + info.duration + " width=" + info.width + " height=" + info.height + " framerate=" + info.framerate);
}
public function onCuePoint(info:Object):void
{
trace("cuepoint: time=" + info.time + " name=" + info.name + " type=" + info.type);
}
}
Ma non giocare, non si verificano errori e non esercizio di un'attività, se qualcuno ha qualche idea, ti prego, aiutami.
vorrei aggiungere gestore di eventi 'nc.addEventListener' prima di chiamare' nc.connect', anche mettere un po 'traccia nel 'onConnectionStatus'. –
Metto nc.addEventListener sopra nc.connect, ma ancora non succede nulla, e c'è una traccia di traccia ("Creating NetStream"), sto ricevendo quella traccia nel mio output. – Vipul
Bene che si sta creando il flusso di rete ma non è l'unico messaggio che si può ottenere, tracciare il file 'e.info.code' come prima riga nel gestore. –