-1

main.asc我在 Adob​​e Media Server (我认为是最新版本,5.0.10)中有以下代码:

application.onPublish = function (clientObj, streamObj) {
  for (var i = 0; i < application.clients.length; i++){
    application.clients[i].call("streamConnected");
  }
}

我的 ActionScript (3.0) 文件中的这段代码连接到我的 flash 文件:

nc = new NetConnection();

nc.addEventListener(NetStatusEvent.NET_STATUS, onConnectionStatus);
nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR, asyncErrorHandler);
nc.client = { onBWDone: function():void{}, streamConnected: function():void{} };
nc.connect(videoURL);

...

public function streamConnected(...rest):void {
  trace("Stream Connected");
}

我不太确定我的代码是什么意思——其中大部分来自互联网的各个部分,因此我们将不胜感激。

4

1 回答 1

1

使用您当前的代码,将执行的唯一函数是在nc.client对象内部定义的空函数,因为该streamConnected()函数未附加到nc.client'sstreamConnected属性。

因此,要获取"Stream Connected"消息,您可以像这样更改该匿名函数,例如:

nc.client = { 
    onBWDone: function():void{}, 
    streamConnected: function(...rest):void {
        trace("Stream Connected");
    }
};

或者只是你可以使用你现有的streamConnected()功能:

nc.client = { 
    onBWDone: function():void{}, 
    streamConnected: streamConnected
};

希望能有所帮助。

于 2016-06-18T10:52:54.303 回答