Остановка / удаление встроенного плеера - PullRequest
0 голосов
/ 08 марта 2010

Я работаю над веб-страницей, на которой мне нужно добавить встроенное видео. Видео размещено на другом домене. Я могу встраивать видео и автоматически воспроизводить его после загрузки веб-страницы. Однако у меня есть требование, когда я Я должен удалить div, отображающий видео, как только оно воспроизводится, и вместо видео мне теперь нужно отобразить некоторый текст. Проблема в том, что я могу выполнить автозапуск с помощью переменной autostart в теге embed ... но как узнать, что видео закончилось. Хостинговая компания предоставляет только тег embed, и у них нет ни одного плеера apis для использования. Один из способов (или, скорее, обходного пути), который я чувствую, состоит в том, чтобы запустить обработчик событий в фоновом режиме и посмотреть общее время видео, а когда это время удаляется, удалите контент. Но проблема в том, что, если пользователь приостанавливает видео, тогда div также будет удален.

Я новичок во флэш-памяти. Существуют ли некоторые стандартные переменные или действия, которые мы можем передать как flashvars в файл swf, чтобы остановить работающий проигрыватель или узнать состояние проигрывателя (обратите внимание, мы получаем тег вставки только из сайт видеохостинга, поэтому мы не владеем этим кодом, и они не имеют много документации, чтобы помочь мне с кодом).

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 08 марта 2010

Если вы знаете, что контент представляет собой фильм и, следовательно, возможно, имеет линейную прогрессию кадров, вы можете использовать Flash javascript API . Псевдокод для одной возможности:

everyHalfSecond {
    currentFrame = movie.TCurrentFrame("/");
    totalFrames = movie.TotalFrames();
    if (currentFrame + 1 == totalFrames) {
        doMovieComplete() // switch out your div
    }
}

ЗАПИШИТЕ переменную объекта undefined, которая звучит как стандартные проблемы JavaScript в браузере. Чтобы решить эту проблему, можно использовать собственную функцию браузера getSWF (см. getFlexApp в этой записи блога для примера) или использовать что-то вроде swfobject .

...