加上「;“装载”;播放HTML5JavaScript
我想添加一个音频播放器到我的网站。 我找到了这个html5播放器,想在mp3还在加载时添加一个“正在加载”的图像。加上「;“装载”;播放HTML5JavaScript,javascript,jquery,html,html5-audio,Javascript,Jquery,Html,Html5 Audio,我想添加一个音频播放器到我的网站。 我找到了这个html5播放器,想在mp3还在加载时添加一个“正在加载”的图像。 示例: 如何在代码中添加此函数 <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
示例:
如何在代码中添加此函数
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
</head>
<body>
<div class="audioplay"><img data-href="/sound1.mp3" src="/play.png" alt="play now"/></div>
<div class="audioplay"><img data-href="/sound2.mp3" src="//play.png" alt="play now"/></div>
<div class="audioplay"><img data-href="/sound3.mp3" src="/play.png" alt="play now"/></div>
<style>
.audioplay { float: left; padding-right: 20px; width: 12%; display: block; box-sizing: border-box; position: relative; min-height: 1px;}
.audioplaytutoriais { float: left; padding-right: 20px; width: 20%; display: block; box-sizing: border-box; position: relative; min-height: 1px;}
.audioplay img { width:100%;height:100%;margin-top:17%;}
.audioplaytutoriais img { width:100%;height:100%;margin-top:10%;}
.audioplay { width:63px;}
.audioplaytutoriais { width:63px;}
.audioplaytutoriais img { width:100%;height:100%;margin-top:16%;}
.audioplaysection { padding: 20px 0px 0px;}
.audioplay img {cursor: pointer;}
.audioplaytutoriais img {cursor: pointer;}
.audioplaytutoriais img { width:100%;height:100%;margin-top:16%;}
</style>
<script>
jQuery(document).ready(function($) {
var audioElement = document.createElement('audio');
$( ".audioplay img" ).click(function() {
audioElement.setAttribute('src', $(this).attr('data-href'));
if($(this).hasClass('playing')){
$(this).attr("src","play.png");
$('.audioplay img').removeClass("playing");
audioElement.pause();
}else{
$('.audioplay img').removeClass("playing");
$('.audioplay img').attr("src","play.png");
$(this).attr("src","stop.png");
$(this).addClass("playing");
audioElement.play();
}
/*audioElement.addEventListener('ended', function() {
this.play();
}, false);
audioElement.addEventListener("canplay",function(){
$("#length").text("Duration:" + audioElement.duration + " seconds");
$("#source").text("Source:" + audioElement.src);
$("#status").text("Status: Ready to play").css("color","green");
});
audioElement.addEventListener("timeupdate",function(){
$("#currentTime").text("Current second:" + audioElement.currentTime);
});
$('#play').click(function() {
audioElement.play();
$("#status").text("Status: Playing");
});
$('#pause').click(function() {
audioElement.pause();
$("#status").text("Status: Paused");
});
$('#restart').click(function() {
audioElement.currentTime = 0;
});*/
});
});
</script>
</body>
</html>
.audioplay{float:左;padding right:20px;宽度:12%;显示:块;框大小:边框框;位置:相对;最小高度:1px;}
.AudioPlayTutorialIs{float:left;padding right:20px;宽度:20%;显示:块;框大小:边框框;位置:相对;最小高度:1px;}
.audioplay img{宽度:100%;高度:100%;边距顶部:17%;}
.audioplaytutoriais img{宽度:100%;高度:100%;页边顶部:10%;}
.audioplay{宽度:63px;}
.AudioPlayTutorialIs{宽度:63px;}
.audioplaytutoriais img{宽度:100%;高度:100%;页边顶部:16%;}
.audioplaysection{padding:20px 0px 0px;}
.audioplay img{光标:指针;}
.AudioPlayTutorialIs img{cursor:pointer;}
.audioplaytutoriais img{宽度:100%;高度:100%;页边顶部:16%;}
jQuery(文档).ready(函数($){
var audioElement=document.createElement('audio');
$(“.audioplay img”)。单击(函数(){
audioElement.setAttribute('src',$(this.attr('data-href'));
if($(this).hasClass('playing')){
$(this.attr(“src”,“play.png”);
$('.audioplay img')。删除类(“播放”);
audioElement.pause();
}否则{
$('.audioplay img')。删除类(“播放”);
$('.audioplay img').attr(“src”,“play.png”);
$(this.attr(“src”,“stop.png”);
$(此).addClass(“播放”);
audioElement.play();
}
/*audioElement.addEventListener('ended',function(){
这个。play();
},假);
audioElement.addEventListener(“canplay”,函数(){
$(“#长度”).text(“持续时间:+audioElement.Duration+“秒”);
$(#source”).text(“source:+audioElement.src);
$(“#状态”).text(“状态:准备播放”).css(“颜色”、“绿色”);
});
addEventListener(“时间更新”,函数(){
$(“#currentTime”).text(“当前秒:+audioElement.currentTime”);
});
$(“#播放”)。单击(函数(){
audioElement.play();
$(“#状态”).text(“状态:播放”);
});
$(“#暂停”)。单击(函数(){
audioElement.pause();
$(“#状态”).text(“状态:暂停”);
});
$(“#重新启动”)。单击(函数(){
audioElement.currentTime=0;
});*/
});
});
这是未经测试的,但想法如下
首先,您必须为“loadstart”事件添加一个侦听器。触发后,显示图像。然后为“canplay”事件添加一个侦听器。当触发时,移除图像
以下是您可以收听的活动列表。
jQuery(文档).ready(函数($){
var audioElement=document.createElement('audio')
/** @desc Add listener for when loading starts */
audioElement.addEventListener('loadstart', function(event){
// SHOW IMAGE HERE.
$(this).attr("src","play.png");
$('.audioplay img').removeClass("playing");
}.bind(audioElement));
/** @desc Add listener for when loading can play */
audioElement.addEventListener('canplay', function(event){
// HIDE IMAGE HERE.
$('.audioplay img').removeClass("playing");
$('.audioplay img').attr("src","play.png");
$(this).attr("src","stop.png");
$(this).addClass("playing");
}.bind(audioElement));
$( ".audioplay img" ).click(function() {
audioElement.setAttribute('src', $(this).attr('data-href'));
if($(this).hasClass('playing')){
audioElement.pause();
}else{
audioElement.play();
}