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

Html如下:
<audio id="audioCap" preload="auto" type="audio/wav"></audio>

JS:

$('#audioCap')[0].play();

并设置“src”如下:

$('#audioCap').attr('src','http://blabla/captcha/captcha.wav?' + response);

响应是id的地方.

这适用于除IE版本(9-11)之外的所有浏览器,这些浏览器也应该可以使用.我正在获取MEDIA12899:AUdio / VIDEO:未知的MIME类型.我做了一些研究,发现它应该是服务器配置问题.我使用调试工具捕获了网络数据并检查了响应头. Content-Type显示为audio / wav,这是真的.我不知道还有什么可能导致这个错误.

解决方法

不幸的是,它因为Internet Explorer不支持wav-Files.

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

看看这个网站上的表格:

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?)

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

相关文章

vue阻止冒泡事件 阻止点击事件的执行 &lt;div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些