Safari отказывается проигрывать аудио MP3 - PullRequest
0 голосов
/ 27 мая 2019

Следующее прекрасно работает во всех браузерах, за исключением Safari 12.1.1 для Mac 10.14.5:

new Audio('data:audio/mpeg;base64,/+MQxAAIi0Y4AUEQAfIAFABf///////////////////////////////OdyAYt4Aq///////jEsQECbvSvAGAaAD///////////////////+nX/+j//rc3//+scAljr//6h3BSxx+PB///+MQxAUKA4M8B4BpIv/////////////////+pX/5V//pLRUu3///2CZifmzf/+dS///////jEMQECZvWxAGAUAD/////////////////0b////1//54Xhr//+FcVzv//UYhE6gKAHSP/4xDEBAnDQtQfwBAD////////R/////////////lQxtrrqVGRysaVP/a6//QMwVrChGFZ/+MSxAQG41JAAAgPHIV4v////VjvR///////mlQBgmNQk8tiKmxY0z/////7f//+tH//rR//4xDEEAUwAegACES8//5YJmZMQU1FMy45OS41qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq/+MQxCIAAANIAAAAAKqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqg==').play();

Выполнение кода непосредственно в консоли Safari приводит к следующему:

Promise = $ 2

result: NotAllowedError: Запрос не разрешен пользовательским агентом или платформой в текущем контексте, возможно, из-за того, что пользователь отказал в разрешении.

code: 0

столбец: 602

строка: 3

сообщение: «Запрос не разрешен пользовательским агентом или платформой в текущем контексте, возможно, потому что пользователь отказал в разрешении. "

name:" NotAllowedError "

stack:" play @ [собственный код] ↵глобальный кодПрототип

состояние: «отклонено»

Обещание Прототипа

catch (rejectionHandler)

конструктор: function ()

finally ()

тогда (решеноr, rejectionHandler)

Символ (Symbol.toStringTag): «Обещание»

Прототип объекта

Если код можно настроить так, чтобы он игнорировалсячто это за ошибка или , если эту ошибку нельзя игнорировать, какой код использовать, чтобы избежать появления ошибок?

Нет фреймворков / библиотек.

Работает проверенный пользовательSafari 8.0 не может вызвать new Audio.Я добавил if (typeof new Audio == 'object'), что в итоге привело меня к этой общей проблеме.

...