Configuração do ditado e API JavaScript
Conversão de fala em texto pela Web Speech API. Um botão de microfone na barra de ferramentas ativa e desativa a escuta; as transcrições provisórias aparecem ao vivo sob o cursor. Nenhum serviço externo — o áudio é processado pelo fornecedor de reconhecimento de fala que o navegador usar.
Ativação opcional
O recurso é opcional de propósito — mesmo nos navegadores suportados, o botão da barra de ferramentas fica oculto, a menos que você habilite o plugin. A permissão do microfone é sensível; não queremos que um ícone de microfone apareça por padrão.
var cfg = {
dictationEnabled: true,
dictationLang: "en-US", // BCP-47
dictationContinuous: true,
dictationInterimResults: true,
dictationAutoPunctuation: true
};
new RichTextEditor("#editor", cfg);No Tag Helper do ASP.NET Core:
<richtextbox asp-for="Body" toolbar="default"
enable-dictation="true"
dictation-lang="en-US"
dictation-continuous="true"
dictation-auto-punctuation="true" />API JavaScript
editor.dictation.start();
editor.dictation.stop();
editor.dictation.toggle();
editor.dictation.isListening(); // boolean
editor.dictation.isSupported(); // false on FirefoxSuporte dos navegadores
- Chrome, Edge, Opera — suportado (usa o serviço de fala em nuvem do Google)
- Safari 14.1+ (macOS), iOS 14.5+ — suportado (no dispositivo ou na nuvem, conforme o sistema operacional)
- Firefox — não tem
SpeechRecognition; o plugin detecta isso e oculta o botão.
O primeiro clique solicita a permissão do microfone. Os usuários podem revogá-la a qualquer momento nas configurações de site do navegador. O handler onerror mostra uma mensagem amigável em caso de not-allowed.
Opções
| Opção | Padrão | Observações |
|---|---|---|
dictationEnabled | false | Habilita o recurso. Sem ela, o plugin fica inativo. |
dictationLang | navigator.language | Tag de idioma BCP-47: en-US, es-ES, zh-CN, ja-JP etc. |
dictationContinuous | true | Se for false, para depois de uma única fala. |
dictationInterimResults | true | Mostra uma pré-visualização esmaecida do que o navegador ainda está ouvindo. |
dictationAutoPunctuation | true | Coloca em maiúscula o início de cada trecho final e acrescenta um ponto final se não houver nenhum. |