连接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