Как запустить метод, когда onPublish запускается в Adobe Media Server?
У меня есть следующий код внутри Adobe Media Server main.asc
(последняя версия 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), связанном с моим файлом флэш-памяти:
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");
}
Я не слишком уверен, что означает мой код - большая его часть была получена из различных разделов Интернета, поэтому любая помощь будет принята с благодарностью.
1 ответ
Используя ваш текущий код, единственная функция, которая будет выполнена, это пустая функция, которая определена внутри nc.client
объект, потому что streamConnected()
функция не привязана к nc.client
"s streamConnected
имущество.
Итак, чтобы получить "Stream Connected"
сообщение, вы можете изменить эту анонимную функцию следующим образом:
nc.client = {
onBWDone: function():void{},
streamConnected: function(...rest):void {
trace("Stream Connected");
}
};
или просто вы можете использовать свой существующий streamConnected()
функция:
nc.client = {
onBWDone: function():void{},
streamConnected: streamConnected
};
Надеюсь, что это может помочь.