web-dev-qa-db-ja.com

JavaScript SpeechSynthescess.Speak()ユーザーの有効化はM71以降に許可されなくなりました

このようにして音声合成APIを使用しました。

speechSynthesis.speak(new SpeechSynthesisUtterance("hello world"));
 _

しかし、今すぐGoogle Chromeを更新した後にエラーを出します。

[廃止措置] SpeechSynthescess.Speak()は、2018年12月頃から、M71以降に許可されていません. https://www.chromestatus.com/feature/5687444770914304 2C16C437C2795A01C0A8852J5F8DA58DAD99D6E19814A31F1EEA19922C5EBD2.JS:147

どのように私はこの問題を解決して権限を尋ねることができますか?

14
stepozer

許可を求める方法はありませんが、ユーザー Google Chromeでの許可を有効にできます。

  1. URLバーの左側のアイコンをクリックして開くサイト設定

  2. sound "automatic(デフォルト)"から "allow"までの設定を変更します。

その後、そのサイトはスピーチを含むユーザーの操作なしで音を作ることができます。

残念ながら、私はこれが働いているかどうかを知るためにコード内の方法を見つけていません。 (おそらく他のオーディオAPIの1つを試すことができ、エラーメッセージで応答するかどうかを確認できます。)

0
joeytwiddle

私はswal("Click OK to speak").then(() => speakButton.click());https://sweetalert.js.org ) - https://patarapolw.github.io/tts-api/?q=次へ&LANG = ZH-CN&RATE = 0.8 /

if (confirm("Click OK to speak")) speakButton.click()は機能しません。

0
Polv