我正在开发一个html5 - angularjs应用程序。
我需要在UI上播放从服务器获取的.wav文件。
所有浏览器都需要支持此功能。
Chrome,firefox,safari正常运行。
但在IE上,我收到了错误。
如果我尝试
<audio controls>
<source src="example.wav">
</audio>
错误 - 在音频标记中显示无效来源。但没有控制台错误。
如果我尝试
<audio controls src="example.wav"></audio>
错误 - 显示音频标签
来源无效
同样在浏览器控制台中,它会显示
MEDIA12899:音频/视频:未知的MIME类型。
答案 0 :(得分:1)
我遇到了同样的问题,这是因为IE不支持HTML5中的.wav文件(这没有任何意义,但是,哦,好吧)。
我想出了一个处理这个问题的Javascript函数;我在<a>
中调用了触发音频播放功能;通过这种方式,该函数可以触发,但在非IE浏览器中不执行任何操作,但在IE中,它会播放它并在HTML5音频播放器中优雅地失败。
function playWavFileInIE(src){
if(/msie/i.test(navigator.userAgent) || /trident/i.test(navigator.userAgent)){
var origPlayer = document.getElementById('currentWavPlayer');
if(origPlayer){
origPlayer.src = '';
origPlayer.outerHtml = '';
document.body.removeChild(origPlayer);
delete origPlayer;
}
var newPlayer = document.createElement('bgsound');
newPlayer.setAttribute('id', 'currentWavPlayer');
newPlayer.setAttribute('src', src);
document.body.appendChild(newPlayer);
return false;
}
}
似乎需要if(origPlayer){...}
块中的所有行;没有任何一个,我最终得到了.wav留在页面上,它随着每次点击稳定地变成了回声。我确定这是一个合乎逻辑的解释,但是......我很着急。
答案 1 :(得分:0)
如果有可能,请将服务器上的 .wav 文件转换为 .mp3 。
这对我正在工作的网站的音频元素很有效。
.MP3文件格式似乎比.WAV格式得到更广泛的支持(请参见下面的链接):