html5 音频在 ios Safari 中不起作用

Posted

技术标签:

【中文标题】html5 音频在 ios Safari 中不起作用【英文标题】:html5 audio doesn't work in ios safari 【发布时间】:2017-07-15 00:58:50 【问题描述】:

我有一个游戏,其中用户单击开始按钮,然后通过 setInterval 程序从数组中随机选择一个音频并播放它。除了野生动物园外,它在任何地方都可以正常工作。 我也尝试过使用 ResponsiveVoice API。它们都不起作用。 如下代码所示:

var audio = new Audio();
audio.src = 'blabla';

当用户点击开始时:

setInterval(function() 
  audio.play();
, 2000);

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

如果您的音频文件在 safari 中根本无法正常工作(不仅仅是 setInterval js),那么问题可能出在文件类型上。

目前,Safari 不支持 flac 和 ogg 音频类型,但在其他浏览器中支持。 Opus 也是如此,另一种开源文件类型。

MP3 和 AAC 是最广泛支持的文件类型,其次是 .wav 网络音频的使用也得到了相当广泛的支持。

请参阅caniuse 了解更多信息。

【讨论】:

首先,音频格式为MP3。其次,音频文件在 safari 中有效,但仅当我在单击按钮后立即调用 play() 时。似乎问题出在setInterval 非常感谢您的帮助,但不幸的是,我刚刚发现无法以我想要的方式在 safari 中播放音频。触摸或点击事件是播放音频所必需的。 @LeonidGordun 哦,不……这太糟糕了!哦,好吧,我想我们生活和学习(希望 Safari 也会改进!)

以上是关于html5 音频在 ios Safari 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Javascript HTML5 play() 在 ios9 Safari 中不起作用?

html5 音频 mp3 在 Firefox 中不起作用

aac 流的 HTML5 音频播放在 type="audio/mp4" 的 iOS 11 中不起作用

HTML5 视频在 Safari 中不起作用

锚标签在 iPhone/iPod Touch/iPad 的 Safari (ios) 中不起作用

HTML5 视频播放/暂停控件仅在 Safari 浏览器中不起作用