老师,关于audio标签的loop属性
来源:3-6 audio
the_dreamhigh
2020-09-29 07:15:04
老师,我查了一下手册发现loop的值只有一个就是loop,并非有数字,而且这个属性是用来设置无限循环的,如果我想设置循环次数,播到第几遍就停止的该如何设置?
1回答
好帮手慕慕子
2020-09-29
同学你好,audio有一个事件ended表示播放结束,可以监听这个事件,来控制播放次数。
可以结合下面示例代码注释测试理解下:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<!-- audio 标签 autoplay -->
<!-- 换成自己的音频文件就可以了 -->
<audio controls src='data/imooc.wav' autoplay></audio>
<script type="text/javascript">
var audio = document.getElementsByTagName('audio')[0]
//封装一个函数, elem表示要播放的音频元素,times表示指定重复播放的次数
function playTimes(elem, times) {
// 使用index表示播放次数,默认播放一次
var index = 0;
// 监听播放结束事件
audio.addEventListener('ended', function () {
// 没结束一次,index值加一
index++
// 当播放次数小于指定的循环播放次数时
if(index < times){
// 再次播放该音频
audio.play()
}
})
}
// 调用函数,循环播放两次
playTimes(audio, 2)
</script>
</body>
</html>如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
相似问题