さあ困った。どうする?
予想としては、Objective-Cのコードで [AVSpeechSynthesisVoice speechVoices]; とやったときに取得できるvoiceは利用可能なのでないかと思う。
実際に試してみる。やっぱりそうみたい。利用可能なのはこんな感じ。(ここから転載)
| Locale | Language/Country |
|---|---|
| ar-SA | Arabic (Saudi Arabia) |
| en-ZA | English (South Africa) |
| th-TH | Thai (Thailand) |
| nl-BE | Dutch (Belgium) |
| en-AU | English (Australia) |
| de-DE | German (Germany) |
| en-US | English (United States) |
| pt-BR | Portuguese (Brazil) |
| pl-PL | Polish (Poland) |
| en-IE | English (Ireland) |
| el-GR | Greek (Greece) |
| id-ID | Indonesian (Indonesia) |
| sv-SE | Swedish (Sweden) |
| tr-TR | Turkish (Turkey) |
| pt-PT | Portuguese (Portugal) |
| ja-JP | Japanese (Japan) |
| ko-KR | Korean (Korea) |
| hu-HU | Hungarian (Hungary) |
| cs-CZ | Czech (Czech Republic) |
| da-DK | Danish (Denmark) |
| es-MX | Spanish (Mexico) |
| fr-CA | French (Canada) |
| nl-NL | Dutch (Netherlands) |
| fi-FI | Finnish (Finland) |
| es-ES | Spanish (Spain) |
| it-IT | Italian (Italy) |
| ro-RO | Romanian (Romania) |
| no-NO | Norwegian(Norway) |
| zh-HK | Chinese (Hong Kong) |
| zh-TW | Chinese (Taiwan) |
| sk-SK | Slovak (Slovakia) |
| zh-CN | Chinese (China) |
| ru-RU | Russian (Russia) |
| en-GB | English (United Kingdom) |
| fr-FR | French (France) |
| hi-IN | Hindi (India) |
var msg = new SpeechSynthesisUtterance("てきすと");
msg.lang = "ja-JP";
speechSynthesis.speak(msg);
のように地域コードつきでlangを指定する。言語コードだけ指定して、msg.lang = "ja"; とやるのではダメみたい。