Я хочу использовать HTML5 Speech API для синтеза речи, вызывая window.speechSynthesis.speak(...)
, который работает почти во всех браузерах, как и ожидалось, но у меня есть некоторые проблемы с iOS Safari:
Вызов speechSynthesis.speak(...)
возможен только в iOS Safari, если пользователь сам инициировал вызов функции, щелкнув где-нибудь. Если это так, все работает так, как ожидалось. У меня проблема в том, что мне нужно вызвать speechSynthesis.speak(...)
в функции обратного вызова, которая вызывается при возврате http-запроса. Поскольку эта функция обратного вызова больше не запускается пользователем напрямую, синтезатор речи не работает.
Есть ли способ обойти это ограничение? Я знаю, что такое поведение должно защитить пользователя от неправильного использования API, но в моем сценарии синтез запускается по действию пользователя, но между ними есть удаленный запрос.