Я использую Web Speech API для текста в речь и должен иметь возможность определять голос по умолчанию. Для этого я вызываю speechSynthesis.getVoices()
и перечисляю голоса, чтобы найти тот, где значение по умолчанию - true.Является ли Chrome OS German правильным голосом по умолчанию на Chrome OS?
Я нахожусь в США и использую английский язык на всех своих устройствах. В Chrome в Windows и Mac по умолчанию возвращается голос Google US English. Однако на Chromebook по умолчанию возвращается голос Chrome OS German. Действительно ли это верно по умолчанию?
Есть ли еще какие-либо языковые настройки на Chromebook, которые мне не хватает? Я попытался изменить голос по умолчанию для ChromeVox (который также был Chrome OS German, прежде чем я его изменил), но не повезло.
Или есть способ передать язык getVoices()
?
HTML
HTML, язык моей страницы установлен на американском английском.
<!DOCTYPE html>
<html lang="en-US">
Я пробовал lang = "en", удаляя декларацию DOCTYPE и т. Д. Без каких-либо изменений.
Javascript
var _voices = [];
speechSynthesis.onvoiceschanged = listVoices;
function listVoices() {
_voices = speechSynthesis.getVoices();
}
function getDefaultVoice() {
var voice = '';
_voices.some(function(v) {
if (v.default) {
voice = v.name;
return true;
}
});
return voice;
}
FWIW - все устройства Chromebook, которыми я управляю для школьного округа по умолчанию для Chrome OS German, когда ChromeVox впервые включен. Это Acer C720s. – Dan
Чтобы быть немного более ясными, они показывают немецкий язык, но голос по-прежнему остается английским. – Dan
Мой британский Dell 11 Chromebook тот же; флаг по умолчанию установлен на немецкий голос! Если вы установите lang в сообщении на «en-GB», тогда он автоматически использует голос GB без необходимости специально проголосовать. –