javascript - 让音频适用于所有浏览器

标签 javascript jquery node.js audio

我一直在测试一个网络应用程序,由于某些原因,很多应该在加载时播放的音频在很多情况下都无法播放。是否有更好的策略来确保音频在所有设备/浏览器上播放?

这是我的代码:

$( document ).ready(function() {

    var audio = document.getElementById('audio1');
    if (audio.paused) {
        audio.play();
    }else{
        audio.currentTime = 0
}
});

HTML:

 <audio id="audio1" src="https://LINK.wav" ></audio>

最佳答案

(根据评论反馈编辑 - 谢谢!)

Wave 文件是未压缩的音频,往往是需要下载的非常大的文件。这就是为什么 Mp3、Ogg 或 AAC 是首选的 Web 格式。不过,并非所有浏览器都支持每一种浏览器。 Firefox 不支持 AAC,IE 和 Safari 不支持 Ogg。您可以使用 caniuse to check .

HTML5 音频的设置如下:

<audio controls preload>
  <source src="https://LINK.m4a" type="audio/mp4" />
  <source src="https://LINK.oga" type="audio/ogg" />
</audio>

信息来自 this article on HTML5 audio types .

关于javascript - 让音频适用于所有浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38057722/

相关文章:

javascript - Jquery - 函数未定义错误

javascript - 使用 ExpressJS 进行环回

database - 哪个数据库用于为许多用户存储地理位置(坐标)并实时检查他们是否彼此接近?

javascript - 使用文本框中键入的字母过滤单选按钮列表

javascript - var functionName = function() {} vs function functionName() {}

javascript - 我如何计算与此相关的按键次数和输入更改次数?

javascript - 在 HTML 下拉菜单中更改项目时激活文本框

jquery - 无法使用 jQuery 解析带有大于号的 JSON 字符串

JavaScript 字符串仅在开头匹配与使用indexOf 比较?

Node.js(带 socket.io 和 express)抛出 "events.js:71 throw arguments[1];//Unhandled ' 错误事件”