プラグイン
音声入力のセットアップと JavaScript API
Web Speech API による音声のテキスト変換です。ツールバーのマイクボタンで聞き取りのオン/オフを切り替え、途中の書き起こしはカーソルの下にリアルタイムで表示されます。外部サービスは使いません。音声は、ブラウザーが使用している音声認識のベンダーによって処理されます。
オプトイン
この機能は意図的にオプトインになっています。対応しているブラウザーでも、プラグインを有効にしない限りツールバーのボタンは表示されません。マイクの許可は慎重に扱うべきものなので、既定でマイクのアイコンが表示されることは避けています。
var cfg = {
dictationEnabled: true,
dictationLang: "en-US", // BCP-47
dictationContinuous: true,
dictationInterimResults: true,
dictationAutoPunctuation: true
};
new RichTextEditor("#editor", cfg);ASP.NET Core のタグヘルパーでは次のようにします。
<richtextbox asp-for="Body" toolbar="default"
enable-dictation="true"
dictation-lang="en-US"
dictation-continuous="true"
dictation-auto-punctuation="true" />JavaScript API
editor.dictation.start();
editor.dictation.stop();
editor.dictation.toggle();
editor.dictation.isListening(); // boolean
editor.dictation.isSupported(); // false on Firefoxブラウザーのサポート
- Chrome, Edge, Opera — 対応(Google のクラウド音声サービスを使用)
- Safari 14.1 以降(macOS)、iOS 14.5 以降 — 対応(OS によってデバイス上またはクラウド)
- Firefox —
SpeechRecognitionはありません。プラグインがこれを検出してボタンを非表示にします。
最初にクリックしたときに、マイクの許可を求められます。ユーザーはブラウザーのサイト設定から、いつでもこれを取り消せます。onerror ハンドラーは、not-allowed の場合にわかりやすいメッセージを表示します。
オプション
| オプション | 既定値 | 備考 |
|---|---|---|
dictationEnabled | false | 機能を有効にするためのスイッチ。これがないと、プラグインは動作しません。 |
dictationLang | navigator.language | BCP-47 の言語タグ:en-US、es-ES、zh-CN、ja-JP など。 |
dictationContinuous | true | false の場合、1 回の発話で停止します。 |
dictationInterimResults | true | ブラウザーがまだ聞き取っている内容を、薄い色でプレビュー表示します。 |
dictationAutoPunctuation | true | 確定した各部分の先頭を大文字にし、ピリオドがなければ追加します。 |