Как мне получить доступ к голосу от текста к речи, когда я делаю сайт (для браузера Edge) - PullRequest
0 голосов
/ 09 февраля 2019

Когда я запускаю загрузку веб-страницы ниже в Edge, она говорит мне, что на моем компьютере доступно 8 голосов.Но только 2 являются операционными голосом [4] и голосом [7].В Firefox есть только один доступный и работающий, voice [0].

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width">

<title>Speech synthesiser</title>

<script>

var synth = window.speechSynthesis;


function populateVoiceList() {

var voiceSelect = document.getElementById("voicesAvailable");

        voiceSelect.innerHTML = '';

    voices = synth.getVoices();

    for(i = 0; i < voices.length ; i++) {

        var option = document.createElement('option');
        option.textContent = voices[i].name + ' (' + voices[i].lang + ')';

        voiceSelect.appendChild(option);
    }
}

</script>
</head>

<body onload="populateVoiceList()">

<h1>speech test 1</h1>

<form id="myForm">

  <select id="voicesAvailable">
    <option>Choose a voice</option>
  </select>

</form>

</body>

</html>

В браузере Microsoft Edge, похоже, применяется географический фильтр для ограничения голосов.Таким образом, хотя в раскрывающемся списке размещено 8 имен, фактически доступны только 2.Как мне изменить программу так, чтобы я загружал только те голоса, которые будут работать на компьютере?

Любой совет приветствуется.

Спасибо

Новое редактирование ..

Я нашел связанный вопрос, содержащий ответ от Ислама Эльшобокосы .Он отправил следующий фрагмент кода:

speechSynthesis.onvoiceschanged = function() {
  var voices = this.getVoices();
  console.log(voices);
};

Когда я нажал соответствующую кнопку на странице переполнения стека, чтобы запустить этот код, он дал результат, который выявил только два работающих голоса на моем компьютере.Это не дало другой 6.

Мой вопрос сейчас: 1. Как этот код отфильтровывает 6 несоответствующих голосов, которые находит моя страница веб-страницы (выше)?2. Как мне добавить что-то подобное на мою веб-страницу?

...