Подключите PHP и Flex Player - PullRequest
0 голосов
/ 24 июля 2011

Я использую компонент 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];
     }

Проигрыватель генерируется на странице HTML с помощью JavaScript, где 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>");               
}

1 Ответ

1 голос
/ 24 июля 2011

Вы можете передать переменные в свой файл SWF, используя flashVars properties

Не видя код для createPlayer() Я не могу дать вам конкретную информацию о том, как вы должны это сделать.

Предполагая, что ваш видеопроигрыватель показывает только одно видео, и идентификатор этого видео передается на веб-страницу с помощью 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 на флэш-плеер и выполните работу в flex (flex получает идентификатор и получает имя файла с сервера, используя XML или amf )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...