Воспроизведение SWF-фильма до конца в слайд-шоу цикла JQuery - PullRequest
2 голосов
/ 08 ноября 2010

Я работаю над слайд-шоу, основанным на плагине цикла jquery (можно найти здесь: http://jquery.malsup.com/cycle/). Слайд-шоу скользит между различными элементами div, где я могу разместить разный контент, такой как изображения и текст. Однако я также хотел бы добавитьSWF-фильмы к сценарию, который работает только в базовом обзоре. Видео начинает воспроизводиться, когда слайд становится видимым, но останавливается до того, как оно сделано, и переходит к следующему слайду.

Конечно, это происходит, поскольку у меня есть таймеркак долго должен быть виден каждый слайд. Что мне интересно, так это то, что есть сценарий, позволяющий ему кратко получить длину видео, а не менять слайд до тех пор, пока видео не будет завершено, и просто сделать это для видео swf.

Другое содержимое должно удерживаться на таймере.

С наилучшими пожеланиями Paparappa

1 Ответ

0 голосов
/ 08 ноября 2010

Должно быть никаких проблем.

Сначала используйте ExternalInterface для связи между Flash и JQuery. Проверьте этот вопрос Запуск JQuery со вспышкой или непосредственно http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/external/ExternalInterface.html.

Тогда у вас есть два варианта:

Получить длину видеопотока от объекта MetaData:

1) установите для клиники NetStream значение

mainNS = new NetStream(mainNC);
mainNS.client = this;

2) иметь публичный метод onMetaData в этом классе

public function onMetaData(infoObject : Object) : void {
     if (infoObject.hasOwnProperty('duration')) {
          _duration = Number(infoObject['duration']);
     }          
}

Или послушайте конец видео:

1)

mainNS = new NetStream(mainNC);
mainNS.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);

2)

private function netStatusHandler(event : NetStatusEvent) : void {
    if (event.info['code'] == "NetStream.Play.Stop") {
        trace('video end');         
    }
}
...