2010-04-29 53 views
0

當Quicktime電影結束時,我想用圖像幻燈片替換它。我目前的做法是讓.mov文件與頁面上的Javascript進行通信。一旦電影結束,一個事件就會調用一個函數。如何在QuickTime電影播放完畢後觸發Javascript函數?

所以我的問題是:當Quicktime電影結束時,我可以用什麼方法調用Javascript函數?

我在這裏看到一些想法,但很難將這些部分放在一起。 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不是必需的函數名稱。那就是它觸發的事件名稱。您必須將該函數添加爲事件的回調。我從來沒有通過JS,但使用jQuery與QT搞砸它會是這個樣子:

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); 
}); 

現在使用jQuery的bind法林不100%。可能出於某種原因,您必須使用基線js,如發佈的鏈接中的示例所示(請參閱myAddListener函數)。我不認爲這是事實,因爲這是jQuery的bind方法的一部分,但你永遠不知道:-)

+0

嗯,我沒有得到這個工作。 – 2010-04-29 19:22:01

0

IIRC,蘋果的JavaScript接口QuickTime是壞了,已經好幾年了。沒有跡象表明他們會解決這個問題。你應該使用HTML5視頻(它有一個適當的,功能性的「結束」事件)。

如果幸運的話,您的QT電影已經在使用H264或其他MPEG-4編解碼器,在這種情況下,它可能只適用於HTML5視頻標籤,儘管您可能需要另存爲...或導出首先是一個m4v擴展。

相關問題