js web端播放声音

使用标签形式

<audio id="myaudio" src="/static/声音/机械警报.wav" loop="loop" preload="preload" muted="muted" />

使用js代码播放

let mp3 = new Audio('/static/声音/机械警报.wav') // 创建音频对象
mp3.loop = true
mp3.play() // 播放

附带Audio监听事件

// true - 事件句柄在捕获阶段执行
    // false - 默认。事件句柄在冒泡阶段执行
    audio.addEventListener('loadstart', function () {
        console.log("客户端开始请求数据");
    }, false);
    audio.addEventListener('progress', function () {
        console.log("客户端正在请求数据");
    }, false);
    audio.addEventListener('error', function () {
        console.log("请求数据时遇到错误 ");
    }, false);
    audio.addEventListener('stalled', function () {
        console.log("网速失速 ");
    }, false);
    audio.addEventListener('play', function () {
        console.log("play()和autoplay开始播放时触发 ");
    }, false);
    audio.addEventListener('pause', function () {
        console.log("暂停触发");
    }, false);
    audio.addEventListener('loadedmetadata', function () {
        console.log("当指定的音频/视频的元数据已加载时");
    }, false);
    audio.addEventListener('loadeddata', function () {
        console.log("当当前帧的数据已加载,但没有足够的数据来播放指定音频/视频的下一帧时,会发生 loadeddata 事件。");
    }, false);
    audio.addEventListener('waiting', function () {
        console.log("等待数据,并非错误");
    }, false);
    audio.addEventListener('playing', function () {
        console.log("正在播放时触发。");
    }, false);
    audio.addEventListener('canplay', function () {
        console.log("可以播放,但中途可能因为加载而暂停");
    }, false);
    audio.addEventListener('canplaythrough', function () {
        console.log("可以播放,歌曲全部加载完毕");
    }, false);
    audio.addEventListener('seeking', function () {
        console.log("当用户开始移动/跳跃到音频/视频中的新位置时");
    }, false);
    audio.addEventListener('seeked', function () {
        console.log("当用户已移动/跳跃到音频/视频中的新位置时");
    }, false);
    audio.addEventListener('timeupdate', function () {
        console.log("播放时间改变");
    }, false);
    audio.addEventListener('ended', function () {
        console.log("播放结束");
    }, false);
    audio.addEventListener('ratechange', function () {
        console.log("播放速率改变");
    }, false);
    audio.addEventListener('durationchange', function () {
        console.log("资源长度改变");
    }, false);
    audio.addEventListener('volumechange', function () {
        console.log("音量改变");
    }, false);


路过的朋友们,有用赏个赞吧

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xl__qd

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值