做一项目,用到“叫号功能”,网页上有一“叫号”按钮,点击后就读数据库中存的号码,如123号, 然后就发声音出来,
思路是网上下载0123456789的叫号声音,然后按钮点击事件里就在JS里写用那个HTML5的video来播放声音就行了,顺序播放声音的话就得用到Setinterval隔一段时间来播放声音的,
网上搜索了一下,终于做出个简单的示例了:
image上面的四个按钮分别播放4种声音
下面的在文本框里输入数字后,再点播放,会按顺序来进行播放的。
源码下载:http://image.niunan.net/H5%E9%9F%B3%E9%A2%91%E6%92%AD%E6%94%BE%E7%A4%BA%E4%BE%8B.zip
下面的代码:
<pre class="prettyprint lang-html"><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>js播放音频测试</title>
</head>
<body>
<div>
<button type="button" onclick="bo1()">播放1</button>
<button type="button" onclick="bo2()">播放2</button>
<button type="button" onclick="bo3()">播放3</button>
<button type="button" onclick="bo4()">播放4</button>
</div>
<div>
只能输入1,2,3,4 这几个数字的组合:
<input placeholder="如:4213" type="text" id="txt" />
<input type="button" value="播放" onclick="bofang()" />
</div>
<script>
var timeoutindex;
var index=0;
var arr; //分隔出来的字符数组
function bo1(){
console.log("进入bo1");
var audio=new Audio("1.mp3");//路径
audio.play();
}
function bo2(){
console.log("进入bo2");
var audio=new Audio("2.mp3");//路径
audio.play();
}
function bo3(){
console.log("进入bo3");
var audio=new Audio("3.mp3");//路径
audio.play();
}
function bo4(){
console.log("进入bo4");
var audio=new Audio("4.mp3");//路径
audio.play();
}
function bofang(){
var str = document.getElementById('txt').value;
arr = str.split("");
timeoutindex= setInterval("bobo()",1000);
}
function bobo(){
eval("bo"+arr[index]+"()");
index++;
if(index>=arr.length){
index=0;
clearInterval(timeoutindex);
}
}
</script>
</body>
</html></pre>
网友评论