J'ai utilisé des API de Speechsynthesis de cette manière:
speechSynthesis.speak(new SpeechSynthesisUtterance("hello world"));
Mais maintenant, je reçois une erreur après la mise à jour Google Chrome:
[Déprécation] SpeechSyNthesis.Speak () Sans activation de l'utilisateur n'est plus autorisée depuis M71, vers décembre 2018. Voir https://www.chromestatus.com/freature/5687444770914304 Pour plus de détails SpeechsnthesisAsiseralessage @ Application- 2C16C437C2795AE01C0A8852E5F8DA58DADAD99D6E17814A31F1EA19922C5EBD2.JS: 147
Comment puis-je résoudre ce problème et demander la permission?
Bien que je n'ai trouvé aucun moyen de demander la permission, le -tilisateur peut activer la permission dans Google Chrome:
Cliquez sur l'icône à gauche de la barre d'URL et ouvrez Paramètres du site
Changer le paramètre Sound de "Automatique (par défaut)" à "Autoriser"
Après cela, le site sera capable de faire des sons sans interaction utilisateur, y compris la parole.
Malheureusement, je n'ai pas trouvé de manière à savoir si cela fonctionne ou non. (Peut-être pourrions-nous essayer l'une des autres API audio et voir si elle répond avec un message d'erreur.)
J'ai eu recours à swal("Click OK to speak").then(() => speakButton.click());
(avec https://sweetalert.js.org ) - https://patarapolw.github.io/tts-api/? Q = 你 & Lang = ZH-CN & Note = 0.8
Notez que if (confirm("Click OK to speak")) speakButton.click()
ne fonctionne pas.