Как запустить функцию Javascript, когда закончится воспроизведение фильма QuickTime? - PullRequest
0 голосов
/ 29 апреля 2010

Когда фильм Quicktime закончится, я хочу заменить его на слайд-шоу изображений. Мой текущий подход заключается в том, чтобы вернуть файл .mov обратно в Javascript на странице. Как только достигнут конец фильма, событие вызывает функцию.

Итак, мой вопрос: Какой метод я могу использовать для вызова функции Javascript, когда заканчивается фильм Quicktime? Я вижу некоторые идеи здесь, но это трудно собрать воедино. http://developer.apple.com/mac/library/DOCUMENTATION/QuickTime/Conceptual/QTScripting_JavaScript/bQTScripting_JavaScri_Document/QuickTimeandJavaScri.html#//apple_ref/doc/uid/TP40001526-CH001-SW5

Я надеюсь использовать функцию qt_ended().

Вот мой код:

 <object width="853" height="496" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab">  
   <param name="enablejavascript" value="true" />
   <param name="postdomevents" value="true" />  
   <param name="src" value="/wp-content/themes/gono9/videos/General_Orders_No9_Trailer1.mov" />  
   <param name="controller" value="true" />  
   <param name="autoplay" value="true" />  
   <param name="scale" value="aspect" />  
   <param name="bgcolor" value="000000" />  
   <param name="cache" value="true" />  
   <embed width="853" height="496" src="/wp-content/themes/gono9/videos/General_Orders_No9_Trailer1.mov" bgcolor="000000" cache="true" type="video/quicktime" pluginspage="http://www.apple.com/quicktime/download/" controller="true" enablejavascript="true" postdomevents="true" autoplay="true" scale="aspect"></embed>  
</object>

Входит ли qt_ended() в мой файл .js?

Мне нужна помощь, чтобы собрать кусочки.

Если смотреть на существующий сайт помогает: http://generalordersno9.com
Это связано с трейлером.

Ответы [ 3 ]

2 голосов
/ 19 мая 2010

Я ответил на свой вопрос, прочитав документацию Apple.

Для интересующихся код здесь:
http://www.generalordersno9.com/wp-content/themes/gono9/js/g.js

А демо здесь: http://www.generalordersno9.com/

0 голосов
/ 21 января 2015

IIRC, javaScript-интерфейс Apple для QuickTime не работает и работает уже много лет. Нет никаких признаков того, что они это исправят. Вы должны использовать HTML5-видео (которое имеет правильное, функциональное событие завершения).

Если вам повезет, ваш фильм QT уже использует H264 или какой-либо другой кодек MPEG-4, и в этом случае он может просто работать с тегом видео HTML5, хотя вам может потребоваться сохранить как ... или экспортировать с помощью Сначала расширение m4v.

0 голосов
/ 29 апреля 2010

qt_ended не обязательно имя функции. Вот название события, которое он запускает. Вы должны добавить функцию в качестве обратного вызова к событию. Я никогда не связывался с QT через js, но используя jquery, это выглядело бы примерно так:

var myQuickTime = {
  ended : function() {
    // save a reference to the movie object
    var movie = this;

    // do stuff when the movie has ended
    alert('Movie "#'+$(movie).attr('id')+'" Done!');
  }
};

$(function(){
  // add the listener on dom ready
  $('#mymovie').bind('qt_ended', myQickTime.ended);
});

Теперь я не на 100% использую метод jQuery bind. Возможно, по какой-то причине вам придется использовать базовые js, как показано в примерах по опубликованной вами ссылке (см. Функцию myAddListener). Я не думаю, что это так, потому что это часть того, что делает метод jQuery bind, но вы никогда не знаете: -)

...