0

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 ストリームを見ることができません...

なぜこれが起こるのですか?私は何を間違っていますか?何か案は?

4

1 に答える 1

1

ns.addEventListener(NetStatusEvent.NET_STATUS, netStatus); このリスナーを NetConnection と NetStream オブジェクトに追加できます。これにより、ストリームの名前に正しくアクセスしていないと推測しているが、確かなことはわかりません。

これを使用して、ストリームが利用可能であることを確認してください: http://www.osmf.org/configurator/fmp/

于 2012-07-26T18:21:31.750 に答える