剛開始在看看popcorn.js但遇到了一些麻煩。popcorn.js開始和停止時間
我有一個30秒的軌道,
但是我想該文件以啓動2秒在打,並停止結束前打3秒。
有誰知道這是可能的,因爲我無法在文檔中找到了嗎?
要麼還是有一個命令來跳轉到時間線上的一個點,所以幾乎像
pop.playAt('2 second');
類似的東西?
感謝
剛開始在看看popcorn.js但遇到了一些麻煩。popcorn.js開始和停止時間
我有一個30秒的軌道,
但是我想該文件以啓動2秒在打,並停止結束前打3秒。
有誰知道這是可能的,因爲我無法在文檔中找到了嗎?
要麼還是有一個命令來跳轉到時間線上的一個點,所以幾乎像
pop.playAt('2 second');
類似的東西?
感謝
這裏有兩個簡單的步驟: 1)推進視頻兩秒 2)確保它停止在27秒(30 - 3)
以超前的視頻,您可以使用currentTime方法,但如果您在加載視頻元數據之前嘗試設置currentTime,則會遇到錯誤。 (當你第一次設置了一個視頻,瀏覽器不知道時間是什麼,直到它得到的標題,你不能設置currentTime的最遲時間。)
var popcorn = Popcorn('#video');
if (popcorn.duration()) {
popcorn.currentTime(2);
} else {
popcorn.on('loadedmetadata', function() {
popcorn.currentTime(2);
}
}
現在,以確保視頻在27秒停止,您可以使用「提示」方法,此時需要幾秒鐘的時間和一個回調函數。現在
popcorn.cue(27, function() {
popcorn.pause();
});
,默認情況下,爆米花觸發事件當它接收來自視頻,通常是每1/4秒(250毫秒)一個「timeupdate」事件。所以你可能會看到這個視頻長几幀。 (例如,它可能在27.1秒停止)。如果您需要更高的準確度,請使用frameAnimation選項,它使爆米花嘗試更新至60fps(每16ms)。
var popcorn = Popcorn('#video', {
frameAnimation: true
});
您還可以通過告訴瀏覽器只要求Web服務器您需要的視頻部分,通過在錨URL的形式追加一個提示節省加載時間。
http://example.com/videos/myvideo.webm#t=2,27
這取決於來自瀏覽器和web服務器的支持,但它不能傷害。
編輯:其實,這裏不使用frameAnimation。問題是它使用了requestAnimationFrame,如果瀏覽器選項卡不可見,則不能保證它會被調用。它對動畫有意義,但不在這裏。我可能會在popcorn.js中提出一個解決方案。
感謝這個布賴恩其工作的程度!我們現在的問題是然而,由於我們已經得到了玩家在頁面上可能數之不盡,但是可以說我們已經有了2名玩家在頁面上,第二個玩家不能進行交互與/打,除非在頁面上的第一個球員有玩過點擊,所以你需要在第二個播放器的控件工作之前點擊第一個視頻中的播放,爲什麼會出現這種情況?謝謝 – Owen
我不確定你爲什麼需要多個玩家。你是否試圖連續播放多個剪輯?如果你想分享你的代碼,我可以看一下,看看還有什麼可能關閉。 – brianchirls
我們有大約30個可摺疊的div,每個都有不同的播放器。我們有一個50分鐘的音頻文件,裏面有提示點。以及開始和停止時間。因此Div 1將包含0到30s的21個提示點,Div 2包含31s到50s 20個提示點。然而,這個問題已經通過使用「預加載」來解決,但是現在我們注意到瀏覽器正在下載mp3,m4a和ogg文件,即使它只能支持其中的一個,然後它會下載相同的文件40倍在頁面上有40個實例!愚蠢的瀏覽器! – Owen