这篇文章主要介绍了HTML5 audio标签使用js进行播放控制实例,本文直接给出代码实例,演示了获取播放时间、播放、暂停、静音等控制方法,需要的朋友可以参考下
<audio>标签可以在HTML5浏览器中播放音频文件。ZAbHTML5中文学习网 - HTML5先行者学习网
<audio>默认提供一个控制面板,但是有些时候我们只需要播放声音,控制面板由我们自己来定义其显示的状态。ZAbHTML5中文学习网 - HTML5先行者学习网
这里我们可以使用JS来进行控制,代码如下:ZAbHTML5中文学习网 - HTML5先行者学习网
ZAbHTML5中文学习网 - HTML5先行者学习网
var audio ;ZAbHTML5中文学习网 - HTML5先行者学习网
window.onload = function(){ZAbHTML5中文学习网 - HTML5先行者学习网
initAudio();ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
var initAudio = function(){ZAbHTML5中文学习网 - HTML5先行者学习网
//audio = document.createElement("audio")ZAbHTML5中文学习网 - HTML5先行者学习网
//audio.src='Never Say Good Bye.ogg'ZAbHTML5中文学习网 - HTML5先行者学习网
audio = document.getElementById('audio');ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
function getCurrentTime(id){ ZAbHTML5中文学习网 - HTML5先行者学习网
alert(parseInt(audio.currentTime) + ':秒');ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
ZAbHTML5中文学习网 - HTML5先行者学习网
function playOrPaused(id,obj){ZAbHTML5中文学习网 - HTML5先行者学习网
if(audio.paused){ZAbHTML5中文学习网 - HTML5先行者学习网
audio.play();ZAbHTML5中文学习网 - HTML5先行者学习网
obj.innerHTML='暂停';ZAbHTML5中文学习网 - HTML5先行者学习网
return;ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
audio.pause();ZAbHTML5中文学习网 - HTML5先行者学习网
obj.innerHTML='播放';ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
ZAbHTML5中文学习网 - HTML5先行者学习网
function hideOrShowControls(id,obj){ZAbHTML5中文学习网 - HTML5先行者学习网
if(audio.controls){ZAbHTML5中文学习网 - HTML5先行者学习网
audio.removeAttribute('controls');ZAbHTML5中文学习网 - HTML5先行者学习网
obj.innerHTML = '显示控制框'ZAbHTML5中文学习网 - HTML5先行者学习网
return;ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
audio.controls = 'controls';ZAbHTML5中文学习网 - HTML5先行者学习网
obj.innerHTML = '隐藏控制框'ZAbHTML5中文学习网 - HTML5先行者学习网
return;ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
function vol(id,type , obj){ZAbHTML5中文学习网 - HTML5先行者学习网
if(type == 'up'){ZAbHTML5中文学习网 - HTML5先行者学习网
var volume = audio.volume + 0.1;ZAbHTML5中文学习网 - HTML5先行者学习网
if(volume >=1 ){ZAbHTML5中文学习网 - HTML5先行者学习网
volume = 1 ;ZAbHTML5中文学习网 - HTML5先行者学习网
ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
audio.volume = volume;ZAbHTML5中文学习网 - HTML5先行者学习网
}else if(type == 'down'){ZAbHTML5中文学习网 - HTML5先行者学习网
var volume = audio.volume - 0.1;ZAbHTML5中文学习网 - HTML5先行者学习网
if(volume <=0 ){ZAbHTML5中文学习网 - HTML5先行者学习网
volume = 0 ;ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
audio.volume = volume;ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
document.getElementById('nowVol').innerHTML = returnFloat1(audio.volume);ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
function muted(id,obj){ZAbHTML5中文学习网 - HTML5先行者学习网
if(audio.muted){ZAbHTML5中文学习网 - HTML5先行者学习网
audio.muted = false;ZAbHTML5中文学习网 - HTML5先行者学习网
obj.innerHTML = '开启静音';ZAbHTML5中文学习网 - HTML5先行者学习网
}else{ZAbHTML5中文学习网 - HTML5先行者学习网
audio.muted = true; ZAbHTML5中文学习网 - HTML5先行者学习网
obj.innerHTML = '关闭静音';ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
//保留一位小数点ZAbHTML5中文学习网 - HTML5先行者学习网
ZAbHTML5中文学习网 - HTML5先行者学习网
function returnFloat1(value) { ZAbHTML5中文学习网 - HTML5先行者学习网
value = Math.round(parseFloat(value) * 10) / 10;ZAbHTML5中文学习网 - HTML5先行者学习网
if (value.toString().indexOf(".") < 0){ZAbHTML5中文学习网 - HTML5先行者学习网
value = value.toString() + ".0";ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
return value;ZAbHTML5中文学习网 - HTML5先行者学习网
}ZAbHTML5中文学习网 - HTML5先行者学习网
ZAbHTML5中文学习网 - HTML5先行者学习网调用方式如下:
ZAbHTML5中文学习网 - HTML5先行者学习网
ZAbHTML5中文学习网 - HTML5先行者学习网
<a href="javascript:void(0);" onclick="getCurrentTime('firefox');">获取播放时间</a>ZAbHTML5中文学习网 - HTML5先行者学习网
<a href="javascript:void(0);" onclick="playOrPaused('firefox',this);">播放</a>ZAbHTML5中文学习网 - HTML5先行者学习网
<a href="javascript:void(0);" onclick="hideOrShowControls('firefox',this);">隐藏控制框</a>ZAbHTML5中文学习网 - HTML5先行者学习网
<a href="javascript:void(0);" onclick="muted('firefox',this);">开启静音</a>ZAbHTML5中文学习网 - HTML5先行者学习网
<input type="button" value="+" id="upVol" onclick="vol('firefox' , 'up' , this )"/>音量<input type="button" value="-" onclick="vol('firefox' , 'down' ,this )"/>ZAbHTML5中文学习网 - HTML5先行者学习网
<audio src="/images/audio/Never Say Good Bye.ogg" id="audio" controls="controls" ></audio>ZAbHTML5中文学习网 - HTML5先行者学习网
ZAbHTML5中文学习网 - HTML5先行者学习网
当前音量:<span id = "nowVol"> - </span>ZAbHTML5中文学习网 - HTML5先行者学习网
ZAbHTML5中文学习网 - HTML5先行者学习网