как получить параметры URL загрузки SWF перед подключением к серверу - red5, flex - PullRequest
0 голосов
/ 16 сентября 2011

Я новичок в Flex, поэтому я надеюсь, что будет несколько простых объяснений. Во всяком случае, я пытаюсь получить параметры из URL, который загружает SWF-файл. все хорошо, все работает.

var room_id:Number = root.loaderInfo.parameters.room_id;

Проблема возникает, когда я пытаюсь сделать это, прежде чем я подключусь к серверу red5. Теперь я хочу взять id из URL, чтобы узнать, в какую комнату мне следует установить соединение, но как я могу это сделать, если flex выдает ошибку при попытке доступа к этому параметру перед установкой соединения.

Ошибка # 1009: невозможно получить доступ к свойству или методу пустой ссылки на объект.

На данный момент есть мой код.

protected function application1_creationCompleteHandler(event:FlexEvent):void {
    //var room:Number = vars("room");
    connection = new NetConnection();
    connection.connect("rtmp://127.0.0.1/video");
    connection.addEventListener(NetStatusEvent.NET_STATUS, onConnected);
    connection.client = this;
}
private function vars(id:String) : Number {
    var newID:Number
    switch(id) {
        case "room" :
        newID = root.loaderInfo.parameters.room_id;
        break;
    }
    return newID;
}

Если я раскомментирую строку "var room: Number = vars (" room ");" я получаю ошибку, если я использую эту строку позже в функции "onConnected", проблем нет, я могу получить доступ ко всем параметрам, переданным через URL Теперь можно получить эти параметры до подключения, что мне делать? Сайт сам по себе работает на php, поэтому в основном я пытаюсь передать php-параметры объекту swf. Я был бы очень признателен.

1 Ответ

0 голосов
/ 17 сентября 2011

Другой вопрос, на который я отвечаю сам. Во всяком случае, была просто глупая ошибка. Чтобы получить доступ к loaderInfo свойствам, все swf должны быть полностью загружены. Так что я просто изменил событие, когда запустил первую функцию с creationComplete на applicationComplete, и все.

...