2012-08-05 126 views
4

所以我一直在試圖操縱我的jwplayer播放youtube視頻成功,但仍然遇到一些問題。jwplayer seek()和onTime()播放視頻位

我希望我的玩家從「開始時間」開始玩,並在「結束時間」停止。這兩個值將取自兩個表單輸入。於是我就寫了這個小功能,工作得非常好:

function timeControl(start, end) { 
jwplayer().seek(start).onTime(function (event) { 
    if(event.position >= end) { 
     this.stop(); 
    } 
}); 

} 

的事情是,如果我運行此函數兩​​次,第二次它有時會忽略新的參數(例如,如果我設置的開始時間在3秒和結束時間在10,如果我再次運行它結束時間爲6秒,它將工作,但它不會如果我開始結束時間在6,然後在十...)

任何人都知道發生了什麼?無論如何重置播放器的「onTime」屬性,而不必重新加載播放器?

在此先感謝!

回答

2

我知道這個問題已經很老了,但是我要走出一條腿,說這個問題可能只是你一般的引用jwplayer,而不是專門引用一個jwplayer視頻實例。

<div id="aVideoObject">Loading the player...</div> 

<script type="text/javascript"> 

    jwplayer("aVideoObject").setup({ 
     flashplayer: "player.swf", 
     width: 450, 
     height: 320 
    }); 

    function timeControl(start, end) { 
     jwplayer("aVideoObject").seek(start).onTime(function (event) { 
      if(event.position >= end) { 
       this.stop(); 
      } 
     }); 
    } 
</script> 

此實現對我的作品

+0

他們可能已經改變了API,讓你現在這樣做,但當時沒有辦法在實例上立即取消事件監聽器。我記得不是唯一一個尋找那個...在任何情況下,我只有一個球員在頁面上,所以它不應該改變任何引用全局或特定的東西。如果我記得不錯,我們必須摧毀玩家,並且每次重新實施它以使其運作。無論如何,我現在使用video.js,它很棒:) – Charleshaa 2014-08-16 11:01:23