客户端如何播放服务器端的WAV录音文件

我的程序B/S的

现在我的数据库中存有客服的WAV录音文件的路径,同时录音文件是在服务器上保存的。
我使用repeater控件绑定数据库后,用lable读取路径,传到一个“播放”按钮的点击事件里。
现在问题来了:当我点击这个播放按钮的时候,可以播放录音,但是只限在服务器上面,在其他客户端无法播放
所以我想请问各位大大:
有什么办法可以在客户端点击“播放”按钮播放服务器端的WAV录音文件(客户端直接能在本机听到声音
求解惑!!!!!

路径不对吧。。你的wav文件路径是什么样的?web服务器添加了wav的mime映射了吗?

参考Audio Player: Responsive and Touch-Friendly
对于支持html5的浏览器,可以是用类似下面的方法

<audio src="audio.wav" preload="auto" controls autoplay loop></audio>

对于不支持的,可以使用类似下面的方法

<embed src="audio.wav" width="0" height="0" volume="100" autostart="false" loop="false" />

你可以使用上面链接的js类库,使用方法页面上面有示例。

对于第二种方法,有人提出有兼容性问题,你可以看看上面的代码里面有没有解决的。提出这个问题的人在
Javascript play sound (wav, MP3, etc) in one line,写了他的解决方法

var mimeType = “application/x-mplayer2″; //default
var agt = navigator.userAgent.toLowerCase();

function getMimeType(){
 if (navigator.mimeTypes && agt.indexOf(“windows”)==-1)
 {
 // non-IE, no-Windows
 var plugin=navigator.mimeTypes["audio/mpeg"].enabledPlugin;

// Mac/Safari & Linux/FFox
 if (plugin)
 mimeType=”audio/mpeg”;
 }//end no-Windows
 return mimeType
 }//end function getMimeType

mimeType = getMimeType();

function playSound(){
 soundElement.innerHTML= “”;
 }

类似在线点播,其实也都是下载到浏览器本地cache,类似各种网页播放器

使用embed 播放WAV是需要客户端支持的,如果用户不是WIndows系统或不是IE浏览器,估计是播放不了的。
为什么不转换为MP3呢。

点击查看演示代码

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="https://code.jquery.com/jquery-1.8.2.min.js"></script>
<script>
var agt = navigator.userAgent.toLowerCase();

function getMimeType(){
    var mimeType = "application/x-mplayer2"; //default
    if(navigator.mimeTypes && agt.indexOf("windows") == -1){
        // non-IE, no-Windows
        var plugin = navigator.mimeTypes["audio/mpeg"].enabledPlugin;

        // Mac/Safari & Linux/FFox
        if(plugin)
            mimeType = "audio/mpeg";
    }//end no-Windows
    return mimeType
}//end function getMimeType


function playSound(url){
    mimeType = getMimeType();
    $('#sound_element').html('<embed src="' + url + '" type="' + mimeType + '" hidden="true" autostart="true" loop="false" width="1" height="1" id="soundplayer" enablejavascript="true" />');
}

$(function(){
    $('#playbtn').on('click', function(){
        playSound('http://www.phon.ucl.ac.uk/home/mark/audio/success.wav');
    });
});
</script>
</head>
<body>
<div id="sound_element"  style="position:absolute; top:100px; left:-100px;"></div>
<div id="playbtn">Click</div>
</body>
</html>