I was playing with Chrome's speechSynthesis
msg = new SpeechSynthesisUtterance("some text");
msg.lang = "fr-FR" ;
window.speechSynthesis.speak(msg);
when I discovered this strange issue : it can't speak anymore if your device is offline. I searched the web but did not find any explanation.
Can't this work offline ?
(If you know the reason why it needs to be online, please tell me it too in the comments.)
Speech synthesis voices are either local on the device or come from remote speech synthesizer services. If the voice is a remote service, the browser will only be able to use it if it is online and can connect to it.
You don't say which environment you are on, but the Google Français voice that would be used for fr-FR on Windows and OS X is a remote service, so it doesn't work offline.
You can check which voices are available on a device by calling speechSynthesis.getVoices()
and checking the localService
property for each voice.
来源:https://stackoverflow.com/questions/29870590/cant-chromes-speechsynthesis-work-offline