使audio在所有浏览器上工作

我一直在testing一个networking应用程序,出于某种原因,许多应该在onLoad上播放的audio在很多情况下都无法播放。 有没有更好的策略来确保所有devise/浏览器的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文件是未压缩的audio,并且往往是需要下载的非常大的文件。 这就是为什么Mp3,Ogg或AAC被视为网页格式的首选。 不是所有的浏览器都支持每一个。 Firefox不支持AAC,IE和Safari不支持Ogg。 你可以使用caniuse来检查 。

HTML5audio将被设置为:

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

来自这篇关于HTML5audiotypes文章的信息。

您必须包含文件types,例如

  <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> 

每个浏览器至less可以理解其中的一个,并且(压缩的)文件要小得多,所以在加载并开始播放之前不需要很长时间。