Chrome (33 以降) で新しい音声合成 API を使用して、Web ベースのコミュニケーション支援を作成しています。ユーザーが男性と女性の間で声を変更できるようにしたいと思います。これは、API を使用して行うことができます。ただし、ページが最初にロードされ、(onclick イベントから) 関数が初めて実行されるときは、デフォルトの女性の声が使用されます。その後、実行されるたびに、私が使用しようとしている男性の声が使用されます. どうすれば男性の声も最初から鳴らすことができますか?
JavaScriptを呼び出すボタンは次のとおりです。
<button type="button" name="speakMe"id="speakMe" onclick="speakPhrase($('phraseBar').getValue());" ><img src="images/speakMe.png" /></button>
呼び出されている speakPhrase 関数は次のとおりです。
function speakPhrase(phrase) {
if(phrase =="")
{
alert("Please enter a phrase before asking me to speak for you. Thank you!");
}
else
{
var speech = new SpeechSynthesisUtterance(phrase);
var voices = window.speechSynthesis.getVoices();
speech.voice = voices.filter(function(voice) { return voice.name == 'Google UK English Male'; })[0];
window.speechSynthesis.speak(speech);
}
}
誰でも助けることができますか?