首页 > web前端开发 > HTML5 > HTML5中使用js控制audio标签的方法
2014
07-21

HTML5中使用js控制audio标签的方法

<audio>标签可以在HTML5浏览器中播放音频文件。

<audio>默认提供一个控制面板,但是有些时候我们只需要播放声音,控制面板由我们自己来定义其显示的状态。

这里我们可以使用JS来进行控制,代码如下:

var audio ;
window.onload = function(){
	initAudio();
}
var initAudio = function(){
	//audio =  document.createElement("audio")
	//audio.src='Never Say Good Bye.ogg'
	audio = document.getElementById('audio');
}
function getCurrentTime(id){			
	alert(parseInt(audio.currentTime) + ':秒');
}

function playOrPaused(id,obj){
	if(audio.paused){
		audio.play();
		obj.innerHTML='暂停';
		return;
	}
	audio.pause();
	obj.innerHTML='播放';
}

function hideOrShowControls(id,obj){
	if(audio.controls){
		audio.removeAttribute('controls');
		obj.innerHTML = '显示控制框'
		return;
	}
	audio.controls = 'controls';
	obj.innerHTML = '隐藏控制框'
	return;
}
function vol(id,type , obj){
	if(type == 'up'){
		var volume = audio.volume  + 0.1;
		if(volume >=1 ){
			volume = 1 ;
		
		}
		audio.volume =  volume;
	}else if(type == 'down'){
		var volume = audio.volume  - 0.1;
		if(volume <=0 ){
			volume = 0 ;
		}
		audio.volume =  volume;
	}
	document.getElementById('nowVol').innerHTML = returnFloat1(audio.volume);
}
function muted(id,obj){
	if(audio.muted){
		audio.muted = false;
		obj.innerHTML = '开启静音';
	}else{
		audio.muted = true; 
		obj.innerHTML = '关闭静音';
	}
}
 //保留一位小数点

function returnFloat1(value) {    
	value = Math.round(parseFloat(value) * 10) / 10;
	if (value.toString().indexOf(".") < 0){
		value = value.toString() + ".0";
	}
	return value;
}

调用方式如下:

<a href="javascript:void(0);" onclick="getCurrentTime('firefox');">获取播放时间</a>
<a href="javascript:void(0);" onclick="playOrPaused('firefox',this);">播放</a>
<a href="javascript:void(0);" onclick="hideOrShowControls('firefox',this);">隐藏控制框</a>
<a href="javascript:void(0);" onclick="muted('firefox',this);">开启静音</a>
<input type="button" value="+" id="upVol" onclick="vol('firefox' , 'up' , this )"/>音量<input type="button" value="-" onclick="vol('firefox' , 'down' ,this )"/>
<audio src="/images/audio/Never Say Good Bye.ogg" id="audio" controls="controls" ></audio>

当前音量:<span  id = "nowVol"> - </span>

 

最后编辑:
作者:品味人生
就是一个管理员,frontopen的管理员,嗯,介绍完毕!
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!