我在做项目的时候,也遇到了这个问题,可以灵活的使用下面的这两种方法,我使用的是第二种,当然如果附加上ajax,可能效果会更好点。

第一:在页面body里加上 

<bgsound id="snd" loop="0" src="">


然后再<head></head>之间加上 

<script> 
function playSound(src){ 
var _s = document.getElementByIdx_x('snd'); 
if(src!='' && typeof src!=undefined){ 
_s.src = src; 
} 
} 
</script>


调用时,比如用按钮调用: 

<input type="button" value="声音" onclick="playSound('这里填写你的声音文件路径')">

声音文件尽量要小,几十K到wav文件即可

 

第二:

在form或者body中加上

<EMBED id="ddsound" src="李玉刚-新贵妃醉酒.mp3"   align="center" border="0" width="1" height="1" loop="false"/>

然后调用方法

function playSound(){ 
    document.getElementByIdx_x("ddsound").play();
   } 
 
 
 
//---------------------oos项目---------------------------
 <audio id='ddsound' src='${rootUrl}attachFiles/course/1.mp3'   align='center' border='0' width='1' height='1' loop='false'></audio>
				<input type="button" id="btn" value="声音" onclick="playSound()"> 
	<input type="button" id="btn22" value="停止" onclick="playSop()">  
//--------------script--------
<script language="javascript">
function playSound(){ 
	document.getElementById("ddsound").play();
   }

   function playSop(){
	   document.getElementById("ddsound").pause();
   }
</script> 
 
//----------ajax--------
 setInterval(function (){
	$.ajax({
        type: "POST",
        url: "${rootUrl }app/recipeDP/confirmOrder/getNum",
        success:function(json){
       	 var data = eval('(' + json + ')');
       	 if(data.result == 'success'){
       		 var numObj = document.getElementById('num'); 
       		 var val = numObj.innerHTML;
       		 if(val != data.message){
       			document.getElementById("ddsound").play();
       			setTimeout(function (){
       				window.location.reload();
				},5000);
       		 }else{
       			document.getElementById("ddsound").pause();
       		 }
       	 }else{
       		 alert(data.message);
       	 }
		 },
		 error:function(json){
			mui.toast('网络忙,请稍后重试');
		 }
    });
	},10000);