我一直在 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);
}
}
任何人都可以帮忙吗?