2017-07-15 72 views
1

我有一个游戏,用户在其中点击开始按钮,然后由setInterval程序从数组中随机选择一个音频并播放它。它在任何地方都可以正常工作,但是Safari浏览器。 我也尝试使用ResponsiveVoice API。它们都不起作用。 看起来,下面的代码:html5音频在ios safari中不起作用

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

,当用户点击启动:

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

我怎样才能解决这个问题?

回答

1

如果你的音频文件在safari中不能正常工作(不只是使用setInterval js),那么它可能是文件类型是问题。

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

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

有关更多信息,请参阅caniuse

+0

首先,音频格式是MP3。其次,音频文件在Safari中工作,但只有在按钮点击后立即调用'play()'时才有效。看起来问题出在'setInterval' –

+0

非常感谢您的帮助,但不幸的是,我发现无法按照我想要的方式在safari中播放音频。触摸或点击事件是播放音频的必需条件。 –

+0

@LeonidGordun哦不,这是一个无赖!哦,我们生活和学习,我想(并希望Safari也会改善!) –