When using the speak
function in the Web Speech API, in Chrome the speaking stops abruptly after a few seconds, in the middle of the text given to it, in a seemingly random place (without reaching the end).
This only happens in Chrome (works well on Firefox), tested on two different computers/systems.
Have a look at this jsfiddle to see/listen:
https://jsfiddle.net/fv9ochpq/
You can see that the SpeechSynthesis
object .speaking
flag stays on(true) after it stops speaking.
I haven't seen any documented limit to the text passed to the utterance.
Is this a Google Chrome bug?
BTW, I've known about this since 2014 - when I was trying to add a speech feature to a browser extension I made (back then it was the TTS API available to chrome extensions - same thing happened there as well), but eventually didn't do it because of this apparent bug.
Now I want to overcome this - if this is a bug, I will appreciate anyone directing me to the best place to report it.
EDIT: It seem to stop after about 15 seconds. Adding an interval every 14 seconds running .resume()
seem to "fix" this. See: https://jsfiddle.net/fv9ochpq/1/
But this is a hack.
AUGUST 2019 UPDATE Since December 2018 - Chrome does not allow triggering speech without user interaction, this is an updated jsfiddle, with an added button, and the actual speak
call moved to its onclick
:
https://jsfiddle.net/vcmxkwd3/
THE BUG IS STILL HAPPENING! :
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…