AS3 で rtmp を使用するために追加のコードが必要ですか。
私はこのようなコードを持っています。rtmp やその他の必要なコードにはそれで十分ですか?
var strSource:String = "rtmp://myserver.com/file.flv";
var ncConnection = new NetConnection();
var nsStream = new NetStream(ncConnection);
nsStream.play(strSource);
AS3 で rtmp を使用するために追加のコードが必要ですか。
私はこのようなコードを持っています。rtmp やその他の必要なコードにはそれで十分ですか?
var strSource:String = "rtmp://myserver.com/file.flv";
var ncConnection = new NetConnection();
var nsStream = new NetStream(ncConnection);
nsStream.play(strSource);
RTMP ストリームの再生は、プログレッシブ ストリームとは異なる方法で行う必要があります。
最初に、アプリケーションに接続する必要があります。通常、これはベース パスですが、RTMP サーバーが別のサービスを提案する場合に備えて、いくつかのフォルダーを指定することもできます。
NetConnection.Connect.Success
次に、イベントによってディスパッチされたイベントをリッスンする必要がありますNetConnection
。
NetConnection が接続されると、その上に を作成しNetStream
、その後ストリームを再生できます。
play コマンドに渡される引数は、完全なパスではなく、ストリームの名前のみであるべきであることに注意してください。通常、拡張機能も削除する必要があります (サーバーとサービスによって異なります)。H264 ストリームの場合、ストリーム ID の前に「mp4:」を付ける必要がある場合もあります。
例 :
// rtmp://myserver.com/service/myVideo.flv
var service:String = "rtmp://myserver.com/service/";
var streamID:String = "myVideo"; // or mp4:myVideo for H264
var netConnection:NetConnection;
var netStream:NetStream;
netConnection = new NetConnection();
netConnection.client = {onBWDone:onNetConnectionBWDone};
netConnection.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
netConnection.connect(service);
// NetConnection status handlers
function netStatusHandler( event:NetStatusEvent ):void
{
if(event.info.code == NetConnection.Connect.Success)
{
netStream = new NetStream(netConnection);
netStream.client = {onMetaData:onMetaData, onPlayStatus :onPlayStatus};
netStream.play(streamID);
}
}
function onNetConnectionBWDone():void{}
// NetStream Status handlers
function onMetaData(o:Object):void{}
function onPlayStatus(o:Object):void{}