Но до лучших времен пришлось писать вот такого динозавра с запросом к клиентской части:
клиент app.mxml
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> <mx:Script> ... private function init():void { // Объект подключения к серверу nc = new NetConnection(); // Клиент - текущий объект приложения nc.client = this; ... } // метод приложения возвращающий timestamp public function getCurTime():Number { var now:Date = new Date(); return now.time; } ...
сервер main.asc
// Разрешаем отладку // Отладку смотрим в логах fms, ...logs/_defaultVHost_/webcast/_definst_/ application.allowDebug = true; // Обработчик результата вызова метода клиента TimeHandler = function() { // Обработчик получения результата this.onResult = function(curTimestamp) { // Формируем имя файла потока file = "cast" + curTimestamp; trace('Attempt to save the file: ' + file); // Пишем поток // По-умолчанию все пишется в каталог streams/_definst_ приложения // Это можно изменить, создав файл Application.xml // и прописав там пути в определенных секциях stream = Stream.get(file); stream.play("webcast"); stream.record(); } this.onStatus = function(info) { trace("Failed with code:" + info.code); } }; // Обработчик события публикации потока application.onPublish = function (clientObj, streamObj) { // Вызываем клиентский метод, передаем обработчик, как параметр // обязательно должен быть метод свойства NetConnection.client clientObj.call("getCurTime", new TimeHandler()); };
Витиевато одним словом получилось, кто-бы подсказал способ попроще, был бы рад ;-)
Комментариев нет:
Отправить комментарий