2010-04-29 4 views
0

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

Так что мой вопрос: Какой метод я могу использовать для вызова функции 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
Это связано с прицепом.

ответ

0

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% по сравнению с использованием метода bind JQuery в. Возможно, по какой-то причине вам нужно использовать базовые js, как показано в примерах ссылки, которую вы опубликовали (см. Функцию myAddListener). Я бы не подумал, что это так, потому что это часть того, что делает метод bind jQuery, но вы никогда не знаете :-)

+0

Да, я не понимаю, как это работает. –

0

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

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