頁面有一組視頻地址,需實現:第一個視頻播放結束後自動載入並播放下一個,循環往複。
<video> 元素提供 ended 事件,當播放結束時觸發。在事件處理器中切換 src 並調用 play() 即可實現無縫銜接。
<video id="player" controls autoplay></video>
<script>
const videoList = [
'video1.mp4',
'video2.mp4',
'video3.mp4'
];
let currentIndex = 0;
const player = document.getElementById('player');
function playNext() {
currentIndex = (currentIndex + 1) % videoList.length;
player.src = videoList[currentIndex];
player.load(); // 重新加載資源
player.play().catch(e => console.warn('自動播放被阻止:', e));
}
player.addEventListener('ended', playNext);
// 初始化第一個視頻
player.src = videoList[0];
</script>
src 後必須調用,否則瀏覽器可能不會重新請求新視頻。% videoList.length 實現無限循環。preload="auto" 或手動創建 <video> 預緩存)。