@lexstile

Почему getVoices работает через раз?

Вызываю:
window.speechSynthesis.getVoices(); // пустой массив

Нужно получить массив объектов голосов.
Как только сделал - работало, после 5-10 обновлений страницы перестало (и на document.ready ставил и на window.onload).
В чем кроется проблема?
Задача: проверить поддержку браузера и проверить наличие голоса ru-RU
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
@lexstile Автор вопроса
Решил пока так:
window.speechSynthesis.addEventListener('voiceschanged', function() {
  if(isSpeechSynthesis() && isRuVoices()) {
    $('.voice').toggleClass('d-none');
  }
});

function isSpeechSynthesis() {
  return window.speechSynthesis || false;
}

function isRuVoices() {
  const arrVoices = window.speechSynthesis.getVoices();
  return arrVoices.find(function(item){
    return item.lang === 'ru-RU';
  });
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы