Laat de browser een reactie uitspreken!
let synth = window.speechSynthesis
function speak(text) {
if (synth.speaking) {
console.log('still speaking...')
return
}
if (text !== '') {
let utterThis = new SpeechSynthesisUtterance(text)
synth.speak(utterThis)
}
}
speak("Hello world")
btn.addEventListener("click", () => {
speak(`I think it's a hamster!`)
})
Je kan verschillende voices gebruiken. Zie ook de docs
let voices = window.speechSynthesis.getVoices()
let name = "Alex"
utterThis.voice = voices.filter(function(voice) { return voice.name == name; })[0]
Je kan een inputField en de button toevoegen om het te testen met verschillende teksten
<input type="text" id="inputfield">
<button id="playbutton">Play</button>
let inputField = document.querySelector("#inputfield")
let playButton = document.querySelector("#playbutton")
playButton.addEventListener("click", () => {
let text = inputField.value
speak(text)
})