audio点击播放暂停,点击上一曲,下一曲监听audio是否加载完毕,如果加载完毕,开始播放

audio点击播放暂停,点击上一曲,下一曲监听audio是否加载完毕,如果加载完毕,开始播放``
使用jquery

audio暂停audio播放
html
html代码

<div class="audios">
  <audio id='zo-audio' loop='loop'  :src='audiosrc'></audio>
</div>

jquery:

 $("#player").click(function () {
                // console.log($('#zo-audio')[0])
                $(this).toggleClass("active");
                if ($(this).hasClass('active')) {
                    $(this).children(".iconfont").addClass("icon-shipinbofangshizanting")
                    $('#zo-audio')[0].play();
                    // console.log("play")
                } else {
                    $(this).children(".iconfont").removeClass("icon-shipinbofangshizanting")
                    $('#zo-audio')[0].pause();
                    // console.log("pause")
                }
            })
            $(".thenext").click(function () {
                console.log("下一曲")
                var id = $(this).attr("audioid");
                var j;
                var objectArray = that.audiolists;
                for (let i = 0; i < objectArray.length; i++) {
                    if (objectArray[i].newid == id) {
                        j = i;
                        break;
                    } else {
                        j = -1;
                    }
                }
                if (objectArray.length - 1 == j) {
                    that.audiosrc = objectArray[0].vurl;
                    that.audioid = objectArray[0].newid;
                    that.name = objectArray[0].newtopic;
                } else {
                    that.audiosrc = objectArray[j + 1].vurl;
                    that.audioid = objectArray[j + 1].newid;
                    that.name = objectArray[j + 1].newtopic;
                }
                var audio= $('#zo-audio')[0]
                audio.addEventListener("canplay", function(){//监听audio是否加载完毕,如果加载完毕
                     $('#zo-audio')[0].play();
                });
                $("#player").addClass("active");
                if ($("#player").hasClass('active')) {
                    $('#zo-audio')[0].play();
                    $("#player").children(".iconfont").addClass("icon-shipinbofangshizanting")
                } else {
                    $('#zo-audio')[0].pause();
                    $("#player").children(".iconfont").removeClass("icon-shipinbofangshizanting")
                }
            })

            $(".theback").click(function () {
                console.log("上一曲")
                var id = $(this).attr("audioid");
                var j;
                var theLength = 0;
                var objectArray = that.audiolists;
                theLength = objectArray.length;
                for (let i = 0; i < objectArray.length; i++) {
                    if (objectArray[i].newid == id) {
                        j = i;
                        break;
                    } else {
                        j = 1;
                    }
                }
                if (j == 0) {
                    that.audiosrc = objectArray[theLength - 1].vurl;
                    that.audioid = objectArray[theLength - 1].newid;
                    that.name = objectArray[theLength - 1].newtopic;
                } else {
                    that.audiosrc = objectArray[j - 1].vurl;
                    that.audioid = objectArray[j - 1].newid;
                    that.name = objectArray[j - 1].newtopic;
                }
                var audio= $('#zo-audio')[0]
                audio.addEventListener("canplay", function(){//监听audio是否加载完毕,如果加载完毕
                     $('#zo-audio')[0].play();
                });
                $("#player").addClass("active");
                if ($("#player").hasClass('active')) {
                    $('#zo-audio')[0].play();
                    $("#player").children(".iconfont").addClass("icon-shipinbofangshizanting")
                    // console.log("play")
                } else {
                    $('#zo-audio')[0].pause();
                    $("#player").children(".iconfont").removeClass("icon-shipinbofangshizanting")
                    // console.log("pause")
                }
            })
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个示例代码,可以为音频网页添加上一曲、下一曲暂停播放的功能: HTML部分: ``` <audio id="myAudio"> <source src="audio1.mp3" type="audio/mpeg"> <source src="audio1.ogg" type="audio/ogg"> </audio> <button onclick="previous()">上一曲</button> <button onclick="playPause()">播放/暂停</button> <button onclick="next()">下一曲</button> ``` JavaScript部分: ``` var audio = document.getElementById("myAudio"); // 获取音频元素 var currentTrack = 0; // 当前曲目 function previous() { // 上一曲 if (currentTrack > 0) { currentTrack--; } else { currentTrack = audio.length - 1; } audio.src = audio[currentTrack].src; audio.play(); } function next() { // 下一曲 if (currentTrack < audio.length - 1) { currentTrack++; } else { currentTrack = 0; } audio.src = audio[currentTrack].src; audio.play(); } function playPause() { // 播放/暂停 if (audio.paused) { audio.play(); } else { audio.pause(); } } ``` 解析: 1. 首先,为音频元素添加一个ID,方便在JavaScript中引用它。 2. 然后,为上一曲、下一曲播放/暂停按钮添加一个onclick事件处理程序,分别调用previous()、next()和playPause()函数。 3. 在JavaScript中,首先获取音频元素和当前曲目。 4. previous()函数会检查当前曲目是否为第一首曲目,如果是,则将当前曲目设置为最后一首曲目,否则将当前曲目减一。然后,将音频元素的src属性设置为当前曲目的src,最后播放音频。 5. next()函数类似于previous()函数,只是将当前曲目加一,如果当前曲目已经是最后一首曲目,则将当前曲目设置为第一首曲目。 6. playPause()函数会检查音频元素是否正在播放,如果是,则暂停音频,否则播放音频。 希望这个示例可以帮助您为您的音频网页添加上一曲、下一曲暂停播放的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值