У меня есть игра, в которой пользователь нажимает кнопку запуска, и после этого программа setInterval случайно выбирает звук из массива и воспроизводит его. Он отлично работает везде, кроме сафари. Я также попытался использовать API ResponsiveVoice. Ни один из них не работает. Он выглядит следующим образом:
var audio = new Audio();
audio.src = 'blabla';
и когда пользователь нажимает:
setInterval(function() {
audio.play();
}, 2000);
Как я могу решить эту проблему?
Если ваш аудиофайл не работает AT ALL в сафари (не только с setInterval js), то, вероятно, это тип файла, который является проблемой.
В настоящее время типы звука flac и ogg не поддерживаются в Safari, но находятся в других браузерах. Аналогично с Opus, другой тип файла с открытым исходным кодом.
MP3 и AAC - наиболее распространенные типы файлов, за которыми следует.wav. Широко поддерживается также использование веб-аудио.
Для получения дополнительной информации обратитесь к caniuse.
play()
сразу после нажатия кнопки. Кажется, что проблема сsetInterval