Html如下:
<audio id="audioCap" preload="auto" type="audio/wav"></audio>
JS:
$('#audioCap')[0].play();
设置&#34; src&#34;如下:
$('#audioCap').attr('src', 'http://blabla/captcha/captcha.wav?' + response);
response
是id。
这适用于除IE版本(9-11)之外的所有浏览器,这些浏览器也应该可以使用。我得到了MEDIA12899: AUDIO/VIDEO: Unknown MIME type
。我做了一些研究,发现它应该是服务器配置问题。我使用调试工具捕获了网络数据并检查了响应头。 Content-Type
显示为audio/wav
,这是真的。我不知道还有什么可能导致这个错误。
答案 0 :(得分:12)
很遗憾,因为Internet Explorer不支持wav
- 文件。
为了获得跨浏览器兼容性,您需要提供多种不同格式的相同音频文件。
请查看本网站上的表格:
https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats
为了支持IE,您需要添加mp3
或mp4
格式。
要为当前浏览器提供正确的格式,您可以使用以下内容:
var source= document.createElement('source');
if (audio.canPlayType('audio/mpeg;')) {
source.type= 'audio/mpeg';
source.src= 'audio/song.mp3';
} else {
source.type= 'audio/wav';
source.src= 'audio/song.wav';
}
audio.appendChild(source);
(来源:How can I add multiple sources to an HTML5 audio tag, programmatically?)
编辑:值得注意的是,音频,视频和字体存在同样的问题。