我正在开发一个 html5 - angularjs 应用程序。
我需要在 UI 上播放从服务器获取的 .wav 文件。
所有浏览器都需要支持此功能。
它在 Chrome、firefox、safari 上运行良好。
但是在 IE 上,我收到错误。
如果我尝试
<audio controls> <source src="example.wav"> </audio>
错误 - 在音频标签中显示无效源。但没有控制台错误。
如果我尝试
<audio controls src="example.wav"></audio>
错误 - 在音频标签中显示
Invalid source
也在浏览器控制台中显示
MEDIA12899: AUDIO/VIDEO: Unknown MIME type.
最佳答案
我遇到了同样的问题,这是由于 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,并且每次点击它都会稳定地变成回声。我确信有一个合乎逻辑的解释,但是......我很着急。
关于javascript - 如何在 IE 上播放 .wav 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39354085/