我有一組圖像和視頻。我想要實現一個可以遍歷所有圖像和視頻的播放器。例如, A - 圖像,B - 視頻,C - 圖像; 資產= [A,B,C]; 我想要一個循環播放這個數組的html播放器,首先顯示A(圖像)間隔[5s],然後自動播放B(視頻)和視頻結尾,顯示C(圖像)間隔(5s)和重複流程。我嘗試過類似下面的代碼。但這不是視頻的解決方案。HTML圖像/視頻播放列表
var previewContainer = $(".previews-container");
var curIndex = 1;
appendMediaElement(loopAssets[0]); //initial
setInterval(function() {
if(curIndex >= loopAssets.length) {
curIndex = 1;
}
appendMediaElement(loopAssets[curIndex]); //loopAssets array contains all the images and vidoes with meta data which is retrive from a ajax call
curIndex++;
}, 5000);
function appendMediaElement(asset) {
var mediaEl = "";
if(asset.mediaType == "IMAGE") {
mediaEl = '<img id="lp-preview-image" src="' + asset.contentUrl + '">';
previewContainer.html(mediaEl);
} else if(asset.mediaType == "VIDEO") {
mediaEl = "<video id='lp-preview-video' autoplay controls>";
mediaEl += "<source src='"+ asset.contentUrl + "' type='" + asset.contentType + "'>";
mediaEl += "</video>";
previewContainer.html(mediaEl);
}
}
<div class="col-xs-8">
<div id="loop-preview">
<div class="item previews-container" style="width: 700px; height: 450px">
<!-- images/vidoes-->
</div>
</div>
</div>
任何更好的解決方案將不勝感激!
是啊給我一秒我會發布答案 –
作爲一個方面的評論:第一次的圖像/視頻將只會顯示當第一次加載頁面,而不會再次,因爲在'setInterval'你正在設置'curIndex'設置爲1(而不是0) –
「_any better solution_」是什麼意思?更快的解決方案?更有效的解決方案?少代碼的解決方案? –