audio点击播放暂停,点击上一曲,下一曲监听audio是否加载完毕,如果加载完毕,开始播放``
使用jquery
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")
}
})