我想從幾天後的時間裏創建一個類似GoBarbara.com的頁面。 有一個文本字段的內容將從文本到語音轉換。SpeechSynthesis - 在講話結束之前發生的一次火災
因此,我想使用SpeechSynthesis API(javaScript),它會在觸發intro.mp3之後進行文本發言。播放完演講後,應播放end.mp3。 這是由事件監聽器處理intro.mp3結尾處的「onend」類型和語音。
播放音頻的基本觸發方案是1→2→3. 其中1是intro.mp3,2是語音,3是end.mp3。
我當前的代碼如下:
function doSpeech() {
var speech = new SpeechSynthesisUtterance();
speech.text = getText();
speech.lang = "en-US";
speech.voice = speechSynthesis.getVoices().filter(function(voice) {return voice.name == 'Google UK English Male'; })[0];
speechSynthesis.speak(speech);
speech.onend = playEnd();
}
要觸發end.mp3,我想用SpeechSynthesis擁有onend事件。 但是在實際的演講結束之前,一個人會發出結尾.mp3!?
看來這可能是一個錯誤。但除此之外,如何在正文結束之前將文本正確啓動?注意:語音部分的長度可能不同。
之前,我不得不借助onStart類似的問題這是通過反轉事件和說話線解決 - 嘗試? – Frazer