作为一名PHP初中第一次遇到Flex,这让我的大脑划了好几天。 flashvar包含我在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>");
}
我试图在FlexPlayer.mxml中调用FlashVars,但它无效。请告诉我在mxml的源代码中应用什么来访问FlashVars。
<s:VideoPlayer id="Player" left="0" top="0" width="497" height="414"
skinClass="MySkin" source="FlashVars"/>
</s:Group>
答案 0 :(得分:1)
<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>
答案 1 :(得分:1)
变量videoSource
包含什么?如果它是一个视频的URL而已,它可能不起作用,因为flashvars应该是一个包含变量名称和值(而不仅仅是值)的字符串。
例如,如果视频播放器使用名为flashvars="video.flv"
的变量,flashvars="sourceUrl=video.flv"
将无效,但sourceUrl
可以正常工作。
此外,对于object
元素,您应该为flashvars添加单独的param
元素,而不是将flashvars作为object
元素的属性。对于embed
元素,flashvars是一个属性,就像你现在拥有的那样(标准不错;)
更多信息: