2011-07-24 9 views
0

私はローカルホスト上でFlex Playerコンポーネントを使用しています。 FLVビデオファイルはbin-debug/Videoソースに格納されます。ビデオのためのPHPコードは次のとおりです。PHPとFlex Playerを接続する

$id = $_GET["id"]; 
    $media = getDirectoryList("bin-debug/Video Source"); 

    if($media[$id] != null){ 
     $video = $media[$id]; 
     $fileName = "bin-debug/Video Source/".$video; 
     $pieces = explode(".", $video); 
     $video = $pieces[0]; 
    } 

プレーヤーがcreatePlayer()JavaScriptでHTMLページ上で生成されます。オブジェクトタグ

<script type="text/javascript"> 
    createPlayer(); 
</script> 

私の質問は、どこで、どのように動的にこのFlexPlayer.swfでビデオをロードするために$video変数を置くことである間ページにFlexPlayer.swfを書き込みます。 CreatePlayerは()です:

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

ビデオの詳細をPHPからJSに渡します。 – Sukumar

+0

私はPHPからJSへのデータを渡していないので、createPlayer()はプレーヤのHTMLコードを書き込みます。私が見るビデオは、私がmxmlファイルで与えたソースですが、mxmlを先にコンパイルしてmxmlのvideoSourceタグ値を変更するとオプションになりません – George

+0

なぜこの行にPHPコードがありますか?関数createPlayer( "<?php echo $ fileName;?>"){? –

答えて

1

あなたは私はあなたがこれを行うべきかについての具体的な詳細を与えることはできませんcreatePlayer()のためのコードを見ることなくflashVars properties

を使用してSWFファイルに変数を渡すことができます。

ビデオプレーヤーで1つのビデオのみが表示され、そのビデオのIDがPOSTまたはGETを使用してWebページに渡され、flashVarsを使用してファイル名が渡されるとします。これはswfobjectを使用することをお勧めします。その後、ファイル名を取得するか、単に渡すためにAJAXを使用することを検討して

webpage.php

<?php 
    //your stuff 
    $video = phpFunctionToGetTheFilePath($id); 
    //more stuff 
?> 
<html> 
    <head> 
     <!-- head stuff,the javascript function declaration to display the video player --> 
     <script type="text/javascript"> 
      createPlayer("<?php echo $video; ?>");//the function's argument is the filename to pass as flashvars 
     </script> 
    </head> 
    <body> 
     <!-- your player container somewhere here --> 
    </body> 
</html> 

あなたがビデオを変更したい場合は

は、ページを更新せずに表示される:このような何かはトリックを行う必要があります idをフラッシュプレーヤーに送信してください(フレックスはIDを取得し、 XMLまたは amfを使用してファイル名を取得します)

+0

今投稿を編集して、flashVarsの受け渡しについてCreatePlayer() – George

+0

のコードを表示します。http://kb2.adobe.com/cps/164/tn_16417.html –