這是一箇舊的線程,所以我不知道以下將會有多大用處。
的Mozilla developer notes指出的是:
負值[爲playbackRate]目前不向後播放媒體。
同樣適用於Chrome,但Mac上的Safari可以正常工作。
這種由W3C網頁是在觀察和了解事件偉大:
http://www.w3.org/2010/05/video/mediaevents.html
我把你提到的的jsfiddle並添加了一些額外的控制快進/快退速度:
http://jsfiddle.net/UkMV2/5/
但是,儘管Chrome/Firefox/Safari對我來說效果很好,但我應該指出它並不能真正解決您的關鍵問題。首先,該方法假定負播放速率不起作用(在我寫這篇文章時,AFAICS基本上是真正的)。相反,它通過計算和設定當前時間在視頻假貨吧:
function rewind(rewindSpeed) {
clearInterval(intervalRewind);
var startSystemTime = new Date().getTime();
var startVideoTime = video.currentTime;
intervalRewind = setInterval(function(){
video.playbackRate = 1.0;
if(video.currentTime == 0){
clearInterval(intervalRewind);
video.pause();
} else {
var elapsed = new Date().getTime()-startSystemTime;
log.textContent='Rewind Elapsed: '+elapsed.toFixed(3);
video.currentTime = Math.max(startVideoTime - elapsed*rewindSpeed/1000.0, 0);
}
}, 30);
}
鍍鉻處理這個相當完美,甚至播放音頻的片斷,因爲它去。
其次,我認爲你想在頁面加載後立即反向播放視頻。我無法想象這是一個用例,但我看到的第一個問題是整個視頻需要在播放之前下載,所以您需要等待 - 但下載可能不會發生,直到您開始播放。因此,您可以將currentTime
設置爲接近結尾並等待canPlay
事件,然後開始反向播放。即使這樣,這看起來很尷尬。
我想有這些大的選擇:
1)使用本地視頻窗口小部件,而不是HTML。我猜(沒有檢查)本機API支持反向播放。
2)生成一個正確的反轉視頻,並照常播放。例如,在某個服務器上使用諸如fmpeg
之類的程序來反轉視頻。然後你的應用程序下載視頻並正常播放,這看起來像用戶反向。
假設一個應用程序在加載時反向播放視頻確實有意義,那麼我會親自去#2。
請幫忙嗎?我非常需要此功能 –
該鏈接適用於最新的Chrome瀏覽器。你使用的是什麼瀏覽器?你的意思是它不適用於你的android/cordova應用程序? – MBillau
@MBillau - 感謝您的回覆。是的,我在Google Chrome上嘗試過。它的版本是「版本28.0.1500.95米」。而且,你有沒有嘗試過使用android/cordova? –