本文详细介绍如何使用 video.js 库在单个网页中同时播放多个视频。通过引入必要的 CSS 和 JS 文件,结合 JavaScript 遍历数据生成视频元素,并利用 setTimeout 设置延时加载,有效避免加载失败。文章提供了完整的代码示例,包括视频初始化、自动播放及错误处理逻辑,帮助开发者快速实现多视频并发播放功能。
video.js 单页多视频播放实现
具体实现代码如下所示:
$(data).each(function(i, item) {
// innerHTML += '<li type-id="'+item.id+'">'+
// '<img src="'+(item.imgs?item.imgs:'../../img/videoBg1.jpg')+'" alt="">'+
// '<p>'+item.name+'</p>'+
// '</li>';
innerHTML += '<li type-id="' + item.id + '">' +
// '<img src="'+(item.imgs?item.imgs:'../../img/videoBg1.jpg')+'" alt="">'+
'<video style="width:100%;height:100%;" id="example_video_' + item.id + '" class="videoClass video-js vjs-default-skin vjs-big-play-centered" autoplay="autoplay" controls muted><source src="' + item.hls + '" type="application/x-mpegURL">' +
'</video>' +
'<p>' + item.name + '</p>' +
'</li>';
//视频实时播放
setTimeout(function() {
var myPlayer = videojs('example_video_' + item.id);
videojs('example_video_' + item.id).ready(function() {
var myPlayer = this;
myPlayer.play();
});
}, 5000);
});
使用该方法的前提是正确引入 video.css 和 video.js 文件。
核心调用逻辑主要涉及遍历数据并初始化播放器实例。
setTimeout(function() {
var myPlayer = videojs('example_video_' + item.id);
videojs('example_video_' + item.id).ready(function() {
var myPlayer = this;
myPlayer.play();
});
}, 5000);
需要设置一定的延时机制,以防止视频加载失败。
总结
以上所述是小编给大家介绍的video.js 一个页面同时播放多个视频的实例代码,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!