Configuración y API de JavaScript del dictado
Voz a texto mediante la Web Speech API. Un botón de micrófono en la barra de herramientas activa y desactiva la escucha; las transcripciones provisionales se muestran en vivo bajo el cursor. Sin servicio externo: el audio lo procesa el proveedor de reconocimiento de voz que use el navegador.
Activación explícita
La función hay que activarla de forma explícita a propósito: incluso en los navegadores compatibles, el botón de la barra de herramientas está oculto a menos que actives el plugin. El permiso del micrófono es delicado; no queremos que aparezca un icono de micrófono de forma predeterminada.
var cfg = {
dictationEnabled: true,
dictationLang: "en-US", // BCP-47
dictationContinuous: true,
dictationInterimResults: true,
dictationAutoPunctuation: true
};
new RichTextEditor("#editor", cfg);En el Tag Helper de ASP.NET Core:
<richtextbox asp-for="Body" toolbar="default"
enable-dictation="true"
dictation-lang="en-US"
dictation-continuous="true"
dictation-auto-punctuation="true" />API de JavaScript
editor.dictation.start();
editor.dictation.stop();
editor.dictation.toggle();
editor.dictation.isListening(); // boolean
editor.dictation.isSupported(); // false on FirefoxCompatibilidad con navegadores
- Chrome, Edge, Opera: compatibles (usan el servicio de voz en la nube de Google)
- Safari 14.1+ (macOS), iOS 14.5+: compatible (en el dispositivo o en la nube según el sistema operativo)
- Firefox: sin
SpeechRecognition; el plugin lo detecta y oculta el botón.
El primer clic solicita el permiso del micrófono. Los usuarios pueden revocarlo en cualquier momento desde la configuración del sitio en el navegador. El controlador onerror muestra un mensaje comprensible ante not-allowed.
Opciones
| Opción | Predeterminado | Notas |
|---|---|---|
dictationEnabled | false | Activa la función. Sin esto, el plugin permanece inactivo. |
dictationLang | navigator.language | Etiqueta de idioma BCP-47: en-US, es-ES, zh-CN, ja-JP, etc. |
dictationContinuous | true | Si es false, se detiene después de una sola frase. |
dictationInterimResults | true | Muestra una vista previa atenuada de lo que el navegador todavía está escuchando. |
dictationAutoPunctuation | true | Pone en mayúscula el inicio de cada fragmento final y añade un punto si no lo tiene. |