在IE中使用html音频:MEDIA12899:AUDIO / VIDEO:未知的MIME类型

时间:2014-06-19 08:12:46

标签: html internet-explorer audio mime

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,这是真的。我不知道还有什么可能导致这个错误。

1 个答案:

答案 0 :(得分:12)

很遗憾,因为Internet Explorer不支持wav - 文件。

为了获得跨浏览器兼容性,您需要提供多种不同格式的相同音频文件。

请查看本网站上的表格:

https://developer.mozilla.org/en-US/docs/Web/HTML/Supported_media_formats

为了支持IE,您需要添加mp3mp4格式。

要为当前浏览器提供正确的格式,您可以使用以下内容:

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?

编辑:值得注意的是,音频,视频和字体存在同样的问题。