我正在使用少量設備和屏幕的系統,應該能夠無限期地運行,或至少2-3天。其中之一是在全屏瀏覽器中運行的宣傳屏幕,並且具有一些應該永久循環的文本和視頻播放列表。在瀏覽器中無限期播放視頻的建議方法是什麼? (幾個星期或幾個月)
目前,我正在使用jquery jPlayer作爲我的播放列表視頻解決方案,並且遇到了更長時間後崩潰的問題。我不太確定如何測試它,但是我在週末將它放置在運行狀態,以便今天找不到它。
所以我的問題是:
- 哪個解決方案將是最適合有循環永遠的視頻播放列表?
我正在使用少量設備和屏幕的系統,應該能夠無限期地運行,或至少2-3天。其中之一是在全屏瀏覽器中運行的宣傳屏幕,並且具有一些應該永久循環的文本和視頻播放列表。在瀏覽器中無限期播放視頻的建議方法是什麼? (幾個星期或幾個月)
目前,我正在使用jquery jPlayer作爲我的播放列表視頻解決方案,並且遇到了更長時間後崩潰的問題。我不太確定如何測試它,但是我在週末將它放置在運行狀態,以便今天找不到它。
所以我的問題是:
因此,這裏的奏效
<video id="videoPlayer" src="../../Content/data/video_01.m4v" style="width: 1280px; height: 720px;" autoplay controls />
<script type="text/javascript">
var videoArray = [ "../../Content/data/video_01.m4v", "../../Content/data/video_02.m4v", "../../Content/data/video_03.m4v" ];
var videoPlayer = document.getElementById('videoPlayer');
var videoIndex = 0;
videoPlayer.onended = function() {
videoIndex++;
if (videoIndex >= videoArray.length) {
videoIndex = 0;
}
videoPlayer.src = videoArray[videoIndex];
}
</script>
注意代碼:它崩潰後+/-14小時在歌劇院索尼電視上,但工作完美運行Chrome瀏覽器全屏(其中我是一臺PC上現場運行)。
編輯1: 還添加在腳本的末尾,以防視頻加載失敗(發生過一次)。
videoPlayer.addEventListener('error', function (err) {
err.preventDefault();
videoPlayer.onended();
});
編輯2: 最後一部分(上添加錯誤事件偵聽)是一切的關鍵。顯然,當它墜毀時,它只會因無法加載視頻而停止運行而崩潰。所以我建議有這個。
你可能試着重建視頻標記(而不是更新其src屬性) - 以防每次加載文件時泄漏一些內存並假定瀏覽器在處理元素時會執行良好的清理)。以及很多假設...... – 2014-10-21 11:43:29
@AdrianoRepetti你知道那古老的諺語:「不要試圖修復那些沒有被破壞的東西」。 PC + Chrome工作得很好。沒有任何內存泄漏的跡象。我一定會再次在週末對它進行測試,希望沒有錯誤能夠進入生產:) – DyslexicDcuk 2014-10-21 13:00:57
我的老闆會愛你! – 2014-10-21 13:13:12
很難說,因爲它不是一個很常見的情況。您可以查看播放列表中所有視頻的播放時間並完全重新載入頁面。 – 2014-10-20 08:40:16
完全按照您的操作方式進行,但沒有內存泄漏。不,認真:我不認爲你需要任何Flash或插件來完成這個任務(假設HTML5),那麼請分享你的代碼,它應該不過是20個JS行(然後我的技巧是放下jPlayer,什麼是爲?!) – 2014-10-20 08:40:29
@JonasGrumann我不太熱衷刷新瀏覽器。只有當我願意刷新瀏覽器的時候,在半夜沒有人的時候,這可能會解決所有問題,但我寧願讓它能夠運行幾天,以確保一切。 – DyslexicDcuk 2014-10-20 08:49:46