js怎么实现一个按钮按播放后每隔1秒循环警报音频,然后另一个按钮停止

yuetar 2019-06-04 09:26:12
<script>
var audio = document.createElement("audio");
audio.src = "JingBao.mp3";
audio.addEventListener('ended', function () {
// Wait 500 milliseconds before next loop
setTimeout(function () { audio.play(); }, 700);
}, false);
audio.play();
</script>

这段代码是可以实现一打开网页就每隔1秒循环播放警报mp3,但我想自己按一个按钮“例如播放,开始”后才执行,然后还得有个停止的按钮。搞了半天,不知道怎么搞了,我是小白,哪位大神指点指点我。
...全文
148 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
2019-06-05
  • 打赏
  • 举报
回复
把<script>代码块放到<input 后面
yuetar 2019-06-05
  • 打赏
  • 举报
回复
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script>
var audio = document.createElement("audio");
audio.src = "jingbao.mp3";
function loop() {
// Wait 500 milliseconds before next loop
setTimeout(function () { audio.play(); }, 700);
}
document.getElementById("startPlay").onclick = function () {
audio.addEventListener('ended', loop, false);
audio.play();
}
document.getElementById("stopPlay").onclick = function () {
audio.removeEventListener('ended', loop, false);
audio.pause();
}
</script>
</head>


<body>
<input type="button" id="startPlay" value="播放" />
<input type="button" id="stoptPlay" value="关闭" />
</body>
</html>


大神你好,很感谢回复,不过我用了你这个代码,点击播放不出声,是我哪里代码有问题吗?另外问下是不是JS要什么插件来执行JS的吗?我用的是sublime 3 老王增强版。 (用我原始代码的话是一打开网页就一直循环没完没了,但现在这个代码却始终无声。
天际的海浪 2019-06-04
  • 打赏
  • 举报
回复

var audio = document.createElement("audio");
audio.src = "JingBao.mp3";
function loop() {
    // Wait 500 milliseconds before next loop
    setTimeout(function () { audio.play(); }, 700);
}
document.getElementById("startPlay").onclick = function () {
    audio.addEventListener('ended', loop, false);
    audio.play();
}
document.getElementById("stopPlay").onclick = function () {
    audio.removeEventListener('ended', loop, false);
    audio.pause();
}

87,917

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧