2012-05-25 47 views
2

我想用javascript控制html5視頻。我想要的是,當用戶點擊一個按鈕時,視頻將跳轉到另一個框架並繼續播放。用我目前的代碼,播放總是在搜索後停止。尋求當前時間後播放

function jumpToTime(){ 
    var video = $("video")[0]; 
    video.currentTime = 160; 
    document.getElementbyId("videoclip").play(); //not working 
}; 

//the following code is probably not really related to the question: 
var endtimeoffset = 2000; 

video.addEventListener("timeupdate", function() { 
    if (video.currentTime >= endtimeoffset) { 
     video.pause(); 
    } 
}, false); 

回答

0

有些事情,我會嘗試:

    在jumpToTime()函數
  1. ,你必須理應相同的視頻兩個不同的引用(一個通過jQuery的獲得和其他受的getElementById())。你確定這些參考了同一個視頻嗎?爲了安全起見,我只需要在設置currentTime的'video'引用上調用play()。
  2. 這可能是一個複製和粘貼問題,因爲如果這是在實際的代碼中,控制檯會發出抱怨,但是您確實拼錯了getElementById()(需要大寫B)。
  3. 爲了調試的目的,我會註釋掉'timeupdate'事件代碼,以確保這不是問題,並且此代碼在更新時間表或調用播放後不會暫停視頻。這可能不是,因爲您將當前時間設置爲遠小於您正在比較的偏移量。然而,這將是一個簡單的測試,以消除這個問題的可能原因。
+0

嗨!這是令人尷尬的,但你說B不是大寫字母。但現在,它的工作,視頻始終從頭開始(而不是從尋求點)..爲什麼會這樣? –

0
function jumpToTime(){ 
    document.getElementById("videoclip").currentTime = 160; 
    document.getElementById("videoclip").play(); //not working 
}; 

的getElementById - >的getElementById - B - >乙

獲得通過ID直接對象...

+0

嗨!隨着播放被激活,但它跳回到視頻的開始(並且不從搜索點繼續)。我怎樣才能讓它在新時代繼續前進? –

+0

這個?? [SEE](http://jsfiddle.net/MecSy/) –

+0

我的意思是,當我固定外殼時,按鈕開始工作,但播放不會從搜索時間繼續,而是始終從視頻的開始處開始播放。我試圖看看你在jsfiddle上發佈的例子,但不能真正理解它的某些部分,比如video = video == 1?2:1;在做什麼? –

1

我遇到了類似的問題,並通過暫停找到了解決辦法視頻,然後設置當前時間,然後播放視頻。要更新您的代碼:

function jumpToTime(){ 
    var video = $("video")[0]; 
    video.pause(); 
    video.currentTime = 160; 
    video.play(); 
}; 
相關問題