Передача flashvars в Flex - PullRequest
       30

Передача flashvars в Flex

0 голосов
/ 26 июля 2011

Будучи PHP-юниором, впервые столкнувшимся со Flex, это несколько дней ломает мне голову. Флэшвар содержит источник видео, которое я хочу воспроизвести в видео компоненте Flex. HTML-код плеера выглядит так:

 function createPlayer(videoSource){
    document.writeln("<div id=\"player\">");
    document.writeln("<object width=\"489\" height=\"414\" FlashVars=\""+videoSource+"\">");
    document.writeln("<param name=\"player\" value=\"bin-debug/FlexPlayer.swf\">");
    document.writeln("<embed src=\"bin-debug/FlexPlayer.swf\" name=\"player\" width=\"489\" height=\"414\" FlashVars=\""+videoSource+"\">");
    document.writeln("</embed>");
    document.writeln("</object>");
    document.writeln("</div>");               
}

Я пытался вызвать FlashVars в FlexPlayer.mxml, но он не работает. Пожалуйста, скажите мне, что я должен применить в источнике в mxml для доступа к FlashVars.

<s:VideoPlayer id="Player" left="0" top="0" width="497" height="414"
                       skinClass="MySkin" source="FlashVars"/>
    </s:Group>

Ответы [ 2 ]

1 голос
/ 26 июля 2011

Что содержит переменная videoSource?Если это URL-адрес видео и ничего более, он, вероятно, не будет работать, так как flashvars должен быть строкой, содержащей имена и значения переменных (а не только значения).

Так, например, flashvars="video.flv" не будет работать, но flashvars="sourceUrl=video.flv" может работать, если видеопроигрыватель использует переменную с именем sourceUrl.

Также для элемента object необходимо добавить отдельный param элемент для flashvars, вместо использования flashvars в качестве атрибута элемента object.Для элемента embed flashvars является атрибутом, как он есть у вас сейчас (не очень хорошо;)

Дополнительная информация:

http://kb2.adobe.com/cps/164/tn_16417.html

1 голос
/ 26 июля 2011
<mx:Script>
    <![CDATA[
        private function init():void {
            // The FlashVars
            var obj:Object = Application.application.parameters;
            var videoSource:String = (obj.videoSource != null) ? obj.videoSource : "there was no flashVar by this name";
            trace(videoSource);
        }
    ]]>
</mx:Script>
...