连接PHP和Flex Player

我在本地主机上使用Flex Player组件。 FLV视频文件存储在bin-debug / Video Source中。 该视频的PHP代码是:

$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];
     }

播放器是通过JavaScript在HTML页面上生成的,其中createPlayer(); 在对象标签之间的页面上写入FlexPlayer.swf

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

我的问题是在哪里以及如何将$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>");               
}

您可以使用flashVars属性将变量传递到swf文件

没有看到createPlayer()的代码,我不能给你关于你应该怎么做的具体细节。

假设您的视频播放器仅显示一个视频,并且该视频的ID使用POST或GET传递到网页,则使用flashVars传递文件名。 对于这个建议使用swfobject。 像这样的应该做的诀窍:

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>

如果您想更改显示的视频而不刷新页面,请考虑使用AJAX获取文件名,或者仅将该ID传递给Flash播放器,然后在flex中执行此操作(flex获取id并使用XML从服务器检索文件名或amf)

链接地址: http://www.djcxy.com/p/52623.html

上一篇: Connect PHP and Flex Player

下一篇: Long polling confusion