令人讨厌的HTML5音频播放。我要去哪里错了?

时间:2019-01-15 16:55:01

标签: javascript html audio browser html5-audio

花了很多时间在这个独奏上进行修补,非常感谢您为自己解决麻烦并帮助我学习!

我有一个音乐相关网站,应该在没有控件的情况下自动加载背景音乐(我知道这通常很烦人,但是我拥有的JS的音量非常低,而且声音大多令人愉悦棕色噪声。)

所有这方面的问题是,尽管有所有这些,播放仅在Firefox中完美地进行。 Safari桌面或IOS无法播放任何内容

我在页眉/页脚中使用以下语法:

<script>
  var audio = document.getElementById("bgnoise");
  audio.volume = 0.2;
</script>
<iframe src="https://dl.dropboxusercontent.com/s/fs2do1b5g17mqxs/silence.mp3?dl=0" 
allow="autoplay" id="audio" style="display:none">
</iframe>

<audio id="bgnoise"
autoplay 
preload="true" 
style="display:none"> 
enter code here

<source src="https://dl.dropboxusercontent.com/s/j021mggh8g2nh2b/lietoofine_-_03b_-_Get_Over_the_FOMO.ogg?dl=0" type="audio/ogg">
<source src="https://dl.dropboxusercontent.com/s/64i0456kmtsqbpv/lietoofine_-_03_-_Get_Over_the_FOMO.m4a?dl=0" type="audio/x-m4a">
<source src="https://dl.dropboxusercontent.com/s/pwdfzbrh435aaq9/lietoofine_-_03_-_Get_Over_the_FOMO.mp3?dl=0" type="audio/mp3”>

</audio>

———————————— 其他信息:

  • 我尚未在Android或Chrome上进行过测试。我曾在Chromium上进行过测试,并且知道它比IE更像HTML5音频的顽强支持者。我猜想移动设备会充满更多的HTML5支持问题。

    • 我有iframe语法的原因是,根据我在网上其他地方发现的广受好评的帖子,愚弄了Chromium浏览器以250毫秒的静音来回放(尽管我不是100%相信它的价值) 。

    • 我所有其他浏览器都播放来自网站
      的音乐 我页面上的soundcloud嵌入式插件,因此他们可以播放音频。还有
      Safari过去曾以不一致的方式播放音频
      该代码的迭代,现在根本无法播放。

      • 我怀疑还可能存在另一个变量,即在Audacity中使用LAME / FFMPEG对我的文件进行编码(相对于iTu​​nes
        Fraunhofer)可能具有Apple没有的某些元数据/设置
        喜欢。但是如果是这样的话,人们会认为至少三分之二
        我放的消息来源会成功,不是吗?这些文件托管在我的Public
        上 Dropbox文件夹(自从创建我的链接以来,我测试过的链接可以正常工作 在Dropbox帐户向新用户拒绝公用文件夹之前)。

      • 我使用dl.dropboxusercontent.com(而不是www.dropbox.com)访问原始文件,而不是重定向到Dropbox的
        文件预览/评论页面,并在源文件中附加了?dl = 0
        Dropbox URL,仅将其留给浏览器来决定如何处理 文件(?dl = 1强制调用直接将文件下载到 用户的文件系统而不打开它。)

      • 各种源选项文件类型的文件大小从2MB到6MB。

      • 我使用x-m4a类型而不是m4a类型,因为我在受更广泛支持的地方阅读。我怀疑文件实际上是M4A中包含的AAC 因为它不是由iTunes编码的。我将mp3文件类型用于 mp3,而不是推荐的“ mpeg”,因为我将其编码为MP3 不是Mpeg。

      • 我正在使用一个拖放站点构建器[它支持HTML / CSS / JS,但不支持安装库/ devfiles]。再次,声音在Firefox中可以正常工作……但是只有Firefox!

在等待这一天的时候,所有浏览器,设备和HTML标准/ API普遍支持一种声音格式。在此之前,非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我去过很多地方,包括您好心分享@jdv的旧帖子。但这确实使我找到了一个不错的解决方法。 最后,我找到了关于为什么Firefox播放声音而Chrome和Safari无法播放声音的答案。它不是HTML语法,也不是文件的编码,可以在这里找到: https://bitmovin.com/play-not-play-new-autoplay-policies-safari-11-chrome-64/