flexで外部リクエストを使用する方法
flexで外部からのリクエストで内容を変える方法です。
php側、単純にファイル指定文字にクエリを追加するだけです。
<?php //flashを動的に出力 $MAIN = <<<EOD <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="main" width="100%" height="100%" codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab"> <param name="movie" value="main.swf?&{$_GET['id']}" /> <param name="quality" value="high" /> <param name="bgcolor" value="#869ca7" /> <param name="allowScriptAccess" value="sameDomain" /> <embed src="main.swf?&{$_GET['id']}" quality="high" bgcolor="#869ca7" width="100%" height="100%" name="main" align="middle" play="true" loop="false" quality="high" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer"> </embed> </object> EOD; echo $MAIN;exit; ?>
flex側、ファイル名からクエリ文字をゲットします。
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> <mx:Script> <![CDATA[ public function init():void{ var urllist:Array = new Array(); urllist = this.url.split("&"); if( urllist[1] != "" ){ flv.source = "http://localhost/hogehoge.php?id=" + urllist[1]; flv.play(); } } ]]> </mx:Script> <mx:VideoDisplay x="25" y="28" width="313" height="293" id="flv" /> </mx:Application>
セッションとかクッキーとか使うのかといろいろ調べたけどめんどくさくてやめました(汗