使音频在所有浏览器上工作
Make audio work on all browsers
我一直在测试一个web应用程序,由于某些原因,许多应该在onLoad上播放的音频在许多情况下无法播放。是否有更好的策略来确保音频在所有设备/浏览器上播放?
下面是我的代码:$( 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是首选的网页格式。不过并不是所有的浏览器都支持每一个。Firefox不支持AAC, IE和Safari不支持Ogg。您可以使用caniuse来检查。
HTML5音频设置如下:<audio controls preload>
<source src="https://LINK.m4a" type="audio/mp4" />
<source src="https://LINK.oga" type="audio/ogg" />
</audio>
本文中关于HTML5音频类型的信息。
必须包含文件类型,如
<audio id="audio1" src="your_filepath/LINK.wav" type="audio/wav"></audio>
但是如果你只提供WAV文件,一些浏览器将无法播放它(如IE)
提供mp3 和 ogg文件更可靠,如:
<audio>
<source src="LINK.ogg" type="audio/ogg">
<source src="LINK.mp3" type="audio/mpeg">
</audio>
这两个至少有一个可以被每个浏览器理解,并且(压缩的)文件要小得多,所以加载并开始播放不会花那么长时间。
相关文章:
- 如何使用modalDialog来显示可以在所有浏览器中工作的弹出窗口
- Javascript的某些部分在Chrome中不起作用,但在其他浏览器中可以完美工作
- 如何隐藏空<span>在IE中使用javascript.(注意,在其他浏览器中工作正常)
- Javascript字母选择没有'我不能在谷歌浏览器上工作
- 我如何使HTML5<输入类型=月份>以在所有浏览器上工作
- 我的时间倒计时脚本在谷歌浏览器中工作正常,但在其他浏览器中打开时它显示为南楠
- 使用一个Javascript函数提交多个表单可以在FF中工作,而不需要其他浏览器
- Json到CSV下载,可以在chrome中工作,但不能在IE浏览器中工作
- 有没有人能够得到这个要求或调试NPM模块在浏览器中工作
- 是否可以在浏览器中创建类似谷歌浏览器工作区的东西
- JAX-RS Web Service 通过浏览器工作,但不通过 XMLHTTPRequest
- 如何使旋转图像与javascript跨浏览器工作
- jQuery:如何使css('line-height')跨浏览器工作
- 填写用户名和密码后,当我按下一个回车键无法登录ie,但谷歌浏览器工作正常.如何来
- 未捕获的语法错误与jquery插件和chrome,在其他浏览器工作正常
- Javascript函数不能跨浏览器工作
- 如何将all()函数转换为跨浏览器工作
- indexOf在IE8抛出错误,但在所有其他浏览器工作
- 缓存破坏不与android浏览器工作
- JS播放器——错误:我的返回错误不与IE10工作,但与所有其他浏览器工作