API синтезатора речи, похоже, работает только для английского языка. Это только я? Я делаю что-то не так в коде? Или это не работает для кого-то еще? Для некоторых языков, таких как китайский и японский, он вообще не выводит никаких звуков, а для таких языков, как испанский и другие, он просто читает их так же, как и на обычном английском языке. Это только начало происходить недавно, может быть, за последние 2 недели или около того? До этого точно такой же код работал нормально.
<?php
header('Content-Type: text/html; charset=utf-8');
?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>
$(function() {
//te amo <--- spanish
// 我爱你 <--- chinese
var speech = "我爱你";
document.write(speech);
var u = new SpeechSynthesisUtterance(speech);
u.lang = "zh-CN";
u.volume = 1; //0-1 1=default
u.rate = 0.5; //0-10, 1=default
u.pitch = 1.9; //0-2 1=default
window.speechSynthesis.speak(u);
});
</script>
Для справки:
http://blog.teamtreehouse.com/getting-started-speech-synthesis-api
"arabic" => "ar-DZ",
"bulgarian" => "bg",
"catalan" => "ca",
"chinese-simplified" => "zh-CN",
"chinese-traditional" => "zh-CN",
"czech" => "cs",
"danish" => "da",
"dutch" => "nl-BE",
"english" => "en-US",
"estonian" => "et",
"finnish" => "fi",
"french" => "fr-BE",
"german" => "de-AT",
"greek" => "el",
"haitian-creole" => "en-US",
"hebrew" => "he",
"hindi" => "hi",
"hungarian" => "hu",
"indonesian" => "id",
"italian" => "it-IT",
"japanese" => "ja",
"klingon" => "en-US",
"korean" => "ko",
"latvian" => "lv",
"lithuanian" => "lt",
"malay" => "ms-BN",
"maltese" => "mt",
"norwegian" => "no-NO",
"persian" => "fa",
"polish" => "pl",
"portuguese" => "pt-BR",
"romanian" => "ro-MO",
"russian" => "ru",
"slovak" => "sk",
"slovenian" => "sl",
"spanish" => "es-AR",
"swedish" => "sv-FI",
"thai" => "th",
"turkish" => "tr",
"ukrainian" => "uk",
"urdu" => "ur",
"vietnamese" => "vi",
"welsh" => "cy",
Задача ещё не решена.
Других решений пока нет …