【问题标题】:Safari won't play <audio> if .ogg file is first in the list?如果 .ogg 文件在列表中,Safari 将不会播放 <audio>?
【发布时间】:2011-07-02 22:05:43
【问题描述】:

我有一个具有两个源的音频对象,M4A 和 OGG 格式。

代码如下:

<audio id="audio1" controls="controls" preload="none">
<source src="music.m4a" />
<source src="music.ogg" />
</audio>

然后我可以调用 document.getElementById('audio1').play() 并开始播放。

它适用于所有浏览器。但在 Safari 中,它仅在 M4A 文件是第一个源时才有效。

即如果我首先有这个带有 OGG 文件的代码:

<audio id="audio1" controls="controls" preload="none">
<source src="music.ogg" />
<source src="music.m4a" />
</audio>

Safari 不会对 play() JavaScript 调用做出反应,只会对鼠标点击播放按钮做出反应。

除了总是把 M4A 文件放在第一位之外,还有什么解决办法吗?

谢谢!

【问题讨论】:

    标签: audio safari ogg m4a


    【解决方案1】:

    也许先尝试添加一个 EMPTY.m4a 文件? 0.5 秒无噪音? 我自己在 safari 上遇到了 .ogg 的问题。 我从没想过要尝试另一种类型的文件 1st。 这可能会解决我的问题。谢谢。 我的问题是 .mps 文件中的空白。所以我切换到.ogg。 添加默认空白 .m4a 可能会帮助您解决问题。 我很想知道这是否有效,无论哪种方式都可以发布。

    【讨论】:

      【解决方案2】:

      您是否尝试过告诉浏览器您正在使用哪种 MIME 类型。

      使用“audio/mp4”作为 MIME 类型(不要忘记将其添加到您的 .htaccess)

      <audio id="audio1" controls="controls" preload="none">
      <source src="music.oga" type="audio/ogg" />
      <source src="music.m4a" type="audio/mp4" />
      </audio>
      

      【讨论】:

      • 顺便说一句,我使用了 music.oga ,显然我们假设将 oga 用于 OGG 音频,将 ogv 用于 OGG 视频。
      • 是的,我确实尝试过指定 MIME 类型。但苹果承认这是一个错误。
      猜你喜欢
      • 2013-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-24
      • 2010-12-27
      • 1970-01-01
      相关资源
      最近更新 更多