SpeechSynthesisUtterance の speech メソッドを await するコードです。 ウェブブラウザに発声させる処理を同期的に行います。
ちなみに、ブラウザを開いた瞬間に自動的に speak することはブラウザのセキュリティの都合上できません。 最低1回、ページ内のなにかのボタンをクリックするなどをユーザーにしてもらわないと発声しません。
function asyncSpeak(text) {
const ssu = new SpeechSynthesisUtterance()
ssu.text = text
ssu.lang = 'en-US'
speechSynthesis.speak(ssu)
return new Promise((resolve, reject) => {
ssu.onend = () => {
resolve()
}
})
}
async function onStarted() {
await asyncSpeak('one two three four five six seven eight nine ten')
console.log('end')
}
コメント