如何在 IE 上播放 .wav 文件?

Posted

技术标签:

【中文标题】如何在 IE 上播放 .wav 文件?【英文标题】:How to play .wav files on IE? 【发布时间】:2017-01-14 05:04:01 【问题描述】:

我正在开发一个 html5 - angularjs 应用程序。

我需要在 UI 上播放从服务器获取的 .wav 文件。

所有浏览器都需要支持此功能。

在 Chrome、firefox、safari 上运行良好。

但在 IE 上,我收到错误消息。

    如果我尝试

    <audio controls>
       <source src="example.wav">
    </audio>
    

错误 - 在音频标签中显示无效来源。但没有控制台错误。

    如果我尝试

    <audio controls src="example.wav"></audio>
    

错误 - 它显示在音频标签中

来源无效

也在浏览器控制台中显示

MEDIA12899:音频/视频:未知的 MIME 类型。

【问题讨论】:

哪个版本的IE? 你看过supported media formats页面了吗? 我需要支持IE9+ 有什么插件可以支持IE上的wav文件吗?音频标签的任何替代方法? 【参考方案1】:

我遇到了同样的问题,这是由于 IE 不支持 HTML5 中的 .wav 文件(这没有任何意义,但是,哦,好吧)。

我想出了一个 javascript 函数来处理这个问题;我在&lt;a&gt; 中包含了对触发音频播放的函数的调用;这样,该函数会触发,但在非 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 保留在页面上,并且每次点击都稳定地成为回声。我确信有一个合乎逻辑的解释,但是……我很着急。

【讨论】:

你能为此创建sn-p吗?我无法完成这项工作。【参考方案2】:

如果可能,请将服务器上的 .wav 文件转换为 .mp3

这适用于我正在开发的网站的音频元素。

.MP3 文件格式似乎比 .WAV 得到更广泛的支持(请参阅下面的链接):

https://caniuse.com/#search=wav https://caniuse.com/#search=mp3

【讨论】:

以上是关于如何在 IE 上播放 .wav 文件?的主要内容,如果未能解决你的问题,请参考以下文章

我如何使用 javascript 在 IE7、IE8、Safari 和其他支持的浏览器中播放 .Wav 声音

.net c# 在网页上客户端如何播放服务器端的wav音频文件 急急急!!!!!!!

如何在 Windows 上使用 gstreamer 播放 .wav 音频文件?

如何在 ipad 上使用 javascript 在网络浏览器中播放 wav 文件

wav 可以在网上播放吗

WAV格式如何播放?