Я пытаюсь воспроизвести звуковое уведомление на странице (TVScreen.aspx), которая динамически вызывается вызовами ajax. Это означает, что страница (TVScreen.aspx) отображается на экране телевизора (браузер Chrome), и взаимодействие с пользователем невозможно.
Я пытался реализовать JavaScript speechSynthesis, но я понимаю, что Google Chrome предотвращает автоматическое воспроизведение любого аудиои выдает ошибку
[Deprecation] speechSynthesis.speak () без активации пользователя больше не разрешается с M71, около декабря 2018 года. См. https://www.chromestatus.com/feature/5687444770914304 для получения более подробной информации
function speaktext() {
if ('speechSynthesis' in window) {
var msg = new SpeechSynthesisUtterance();
var voices = window.speechSynthesis.getVoices();
msg.voice = voices[1];
msg.rate = 1;
msg.pitch = 1;
msg.text = 'hello';
speechSynthesis.speak(msg);
}
else {
alert(' Ah man, speech synthesis isnt supported.');
}
}
<script>
Эту функцию я вызываю с другой страницы (call.aspx), используя механизм вызова signal-R. И если я помещу эту функцию на страницу с событием нажатия кнопки, она будет работать нормально.
Остальное все отлично работает, кроме этой функции. Есть ли способ предотвратить ошибку Chrome или есть альтернативный способ?