PHP возвращает URL видео для загрузки проигрывателем Flash через Javascript - PullRequest
0 голосов
/ 17 октября 2010

У меня есть SWF, загруженный через «swfobject.embedSWF ()»

Я использую методы Javascript для передачи вызовов через Flash API: http://developer.longtailvideo.com/trac/wiki/Player4Api#Sendingevents

call.player.sendEvent('LOAD', theFile)

Используя вызов XMLHttpRequest () через GET для PHP-скрипта, я получаю URL файла:

http://xx.yy.com/protected/5dde98716ad8f31127ab560d94f96b87/4cbabea0/test.mp4

При вводе URL в мой браузер запускается файл, но передача переменной в вызов sendEvent () ничего не делает. Почему?

var response = http.responseText;    
loadFile(response);
player.sendEvent('PLAY');

Есть ли что-то очевидное, что я делаю не так? : /

Спасибо.

РЕДАКТИРОВАТЬ1: Решение

Я получил сгенерированный URL для правильной загрузки и воспроизведения, не просто вернув URL видео с XMLHttpRequest(), но и вернув фактический xml-файл с необходимыми параметрами для работы с некоторыми из используемых мной модулей.

<rss version="2.0" 
    xmlns:media="http://search.yahoo.com/mrss/" 
    xmlns:jwplayer="http://developer.longtailvideo.com/trac/wiki/FlashFormats">
    <channel>
        <title>Example media RSS playlist</title>
        <item>
            <title>Lighttpd Video</title>
            <media:content url="http://xx.yy.com/protected/91aa7dfa25596a7d59c3b9403fc4773f/4cbb35d6/test.mp4" />
            <jwplayer:provider>http</jwplayer:provider>
            <jwplayer:http.startparam>start</jwplayer:http.startparam>
        </item>
    </channel>
</rss>

Интересно, настолько ли это очевидно, как сейчас? Может ли XMLHTTPRequest() возвращать только ответы, отформатированные как XML-файлы? : /

Ответы [ 2 ]

1 голос
/ 17 октября 2010

Файл не загружается, вероятно, из-за междоменных ограничений во флэш-памяти.

Я предполагаю, что домен, из которого загружается flash swf, не совпадает с доменом, из которого загружается аудиофайл.

Чтобы отменить это ограничение, вам нужен файл crossdomain.xml, расположенный в корневом каталоге сервера, на котором находится ваш звуковой файл.

<?xml version="1.0"?>
<!-- http://www.youtube.com/crossdomain.xml -->
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>

этот файл должен быть расположен в корневом каталоге вашего веб-сервера, т.е. http://xx.yy.com/crossdomain.xml

0 голосов
/ 17 октября 2010

В AS3 вы должны использовать класс Sound для воспроизведения звука. Ваш экземпляр звука должен будет загрузить URL через объект URLRequest для воспроизведения звука.

...