HTML5 规定了一种通过 <audio> 标签来包含音频的标准方法,<audio>标签能够播放声音文件或者音频流。由于ie8不支持<audio>(ie9可支持),工作中涉及的项目需要的浏览器不能高于ie8且只能是ie浏览器。所以完全不考虑<audio>标签。
以下是在ie8下测试的结果:
考虑用<embed id="player" title="歌曲名称" src="d:\a.mp3" loop="true" width="100%" height="10%" autostart="false"> </embed> ,
嵌入到jsp页面后,src可以是本地音频文件的绝对路径,重新加载jsp页面后显示出播放器的样式,没有任务问题可以播放,但是如果把src置空,在jsp初始化时执行document.getElementById("player").src="d:\a.mp3";却加载不出播放器的样式。不能更换src的路径,这种用法就没有任何意义了,因为实现不了客户端浏览器读取服务器的音频文件。
解决办法如下:
在jsp页面中加入如下java代码:
<%
//读取出服务器上音频文件的名字
String wjmc = request.getParameter("wjmc");
//读取出服务器上音频文件的路径
String endpath = request.getParameter("endpath");
%>
<embed id="player" title="<%=wjmc%>" src="<%=endpath %>" loop="true" width="100%" height="10%" autostart="false">
</embed>
这样就可以更改src的路径,实现客户端浏览器直接读取服务器上的音频文件了。