详解如何使用JavaScript按顺序或随机播放多个视频
用html5播放一个视频文件相当容易,但是否可以按顺序或随机播放多个视频?
如果用JavaScript获取“ HTMLMediaElement ”的“ loadeddata ”和“ end ”事件,就可以得到视频文件的“ 播放”和“播放完成” ,从而可以控制多个视频。
html示例代码
我们先准备好html。示例代码如下所示。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>示例</title> </head> <body> <section> <video id="hero-movie" muted> <source type="video/mp4" id="hero-movie-mp4"> </video> </section> </body> </html>
JavaScript示例代码
接下来是 JavaScript 示例代码。
// 视频列表
var play_item =
[
'movie_01',
'movie_02',
'movie_03'
];
// 数组洗牌
play_item = shuffle(play_item);
// 初始化设置
var play_num = 0;
var play_movie;
var movie = document.getElementById("hero-movie");
// 设置初始一个显示
play_movie = play_item[play_num];
// 视频播放
moviePlay();
// 视频播放
function moviePlay()
{
// 将视频添加到video中
document.getElementById('hero-movie-mp4').setAttribute('src', 'mov/' + play_movie + '.mp4');
movie.load();
// 开始播放
movie.addEventListener("loadeddata", function()
{
movie.play();
}, false);
// 播放结束
movie.addEventListener("ended", function()
{
nextSetting();
}, false);
}
// 准备下一个视频播放
function nextSetting()
{
if(play_num >= play_item.length - 1)
{
play_num = 0;
} else {
play_num++;
}
// 下一个视频
play_movie = play_item[play_num];
// 视频播放
moviePlay();
}
// 数组洗牌
function shuffle(array)
{
var n = array.length, t, i;
while (n)
{
i = Math.floor(Math.random() * n--);
t = array[n];
array[n] = array[i];
array[i] = t;
}
return array;
}
第2行:
存储视频文件的文件名的数组。
第10行:
我们在这里随机打乱视频文件名数组,所以如果您不想随机播放,请将其注释掉。
第27和37行:
这里“ getElementById ”指定 DOM 元素,“ setAttribute ”覆盖 src 属性。
第31-34行:
获取视频加载事件并播放视频。
第37-40行:
获取视频播放结束事件并准备加载下一个视频。
本文来源:词雅网
本文地址:https://www.ciyawang.com/js-video-files.html
本文使用「 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 」许可协议授权,转载或使用请署名并注明出处。
相关推荐
-
如何使用JavaScript跳转到另一个页面
使用window.location属性跳转到另一个页面。让我们看一下基础知识和一些实际示例。关于 window.location 属性window.location 属性返回一个 Location 对...
-
JavaScript编程语言中的变量和声明:存储和重复利用数据的关键
编程语言中有一个功能叫做变量,它可以用于存储各种数据,并在需要时进行重复利用。本文将介绍变量的作用和变量声明。在编写程序时,对变量的处理是必要的知识,因此让我们充分理解什么是变量。变量变量是指为不同类...
-
如何使用length函数在JavaScript中计算字符串长度
在JavaScript中,字符串是一种常见的数据类型。当我们处理字符串时,经常需要知道字符串的长度。JavaScript提供了一个内置函数——length函数,可以用来计算字符串的长度。length函...
-
使用JavaScript获取selectbox中的所有值
我正在编写示例代码以获取 javascript 中选择框中的所有值。使用目标选择框的属性“options”将其获取为“HTMLCollection”,然后将其排列并进行循环处理。获取所有值要获取选择框...
-
使用JavaScript确定日期和时间在多少小时内
在 javascript 中,我编写了一个示例代码来确定日期和时间是多少小时。可以通过获取日期和时间差的绝对值来确定。 确定日期和时间在多少小时内...
-
获取JavaScript数组的偶数和奇数元素
我正在编写示例代码以在 javascript 中获取数组的偶数和奇数元素。我认为最简单的方法是使用“filter”来确定索引号是偶数还是奇数。 获取偶数/奇数元素...
-
使用JavaScript代码实现URL获取#号后的值
在javascript中,我编写了一个示例代码以从任何URL调用URL片段的“#”之后获取值。 使用“lastIndexOf”和“slice”获取它。...
-
JavaScript错误“Uncaught TypeError: xxx.replace is not a function”的解决方法
javascript报错“Uncaught TypeError: xxx.replace is not a function”的原因及解决方法。 在字符串以外的对象上使用...
-
使用JavaScript代码判断指定日期是否在多少天之内
编写一个示例代码来确定日期在javascript中的天数。可以通过计算从UTC时间1970年1月1日开始的经过时间的差值换算成天数,求出绝对值来判断。...
-
使用JavaScript检查浏览器当前选项卡是否被切换
在javascript中,我写了一个示例代码,用于判断当前选项卡是否已经切换。 用“visibilitychange”获取页面显示状态的事件,用“visibilitySt...
词雅网