Lectura en voz alta
Lee el documento o el texto seleccionado en voz alta con el sintetizador de voz del navegador, una oración a la vez, y selecciona cada oración mientras se pronuncia. Una pequeña barra en la parte inferior de la ventana ofrece controles de pausa, detención, voz y velocidad. No intervienen bibliotecas, servidores ni claves.

Cómo activarlo
Esta función la ofrece el plugin readaloud.js (también incluido en plugins/all_plugins.js). Su comando y elemento de la barra de herramientas es readaloud (texto de ayuda "Read aloud"). Con la barra predeterminada, el botón está en el menú "More" (⋮); en tu propia barra, añade readaloud. El comando abre la barra e inicia la lectura de inmediato; volver a ejecutarlo cierra la barra.
<link rel="stylesheet" href="/richtexteditor/rte_theme_default.css">
<script src="/richtexteditor/rte.js"></script>
<script src="/richtexteditor/plugins/readaloud.js"></script>
<div id="editor"><p>The station opened in 1911. Trains ran twice a day.</p></div>
<script>
var editor = new RichTextEditor("#editor", {
toolbar: "mytoolbar",
toolbar_mytoolbar: "{bold,italic,underline}|{readaloud}"
});
</script>
Los estilos de la barra están en rte_theme_default.css, así que conserva esa hoja de estilos en la página.
La barra
- Reproducir / Pausar pausa y reanuda; al terminar, vuelve a empezar.
- Detener finaliza la lectura y restaura la selección que tenía el usuario.
- Voz enumera todas las voces de
speechSynthesis.getVoices()como "nombre (idioma)", marcando la predeterminada del navegador. La lista se rellena cuando el navegador informa de sus voces. - Velocidad: 0.75×, 1×, 1.25×, 1.5× o 2×, con 1× inicial. El cambio se aplica a partir de la siguiente oración.
- El estado muestra "Reading… (3/10)", "Paused" o "Nothing to read". Cerrar detiene la lectura y elimina la barra.
Si hay algo seleccionado al iniciar la lectura, solo se lee la selección. Las oraciones se separan en ., !, ?, un salto de línea y los signos chinos y japoneses 。!?. La lectura se pausa cuando la página se oculta (otra pestaña) y se detiene al abandonarla.
Opciones y API
| Opción | Valor predeterminado | Función |
|---|---|---|
readAloudHighlight | true | Selecciona cada oración en el editor mientras se pronuncia. false lee sin mover la selección. |
readAloudRate | 1.0 | Velocidad de editor.readAloud() cuando la barra no está abierta. Con la barra abierta se usa su menú de velocidad. |
editor.readAloud({ rate: 1.5, voice: "Microsoft Zira - English (United States)" });
editor.stopReadAloud();
editor.readAloud(options) lee sin abrir la barra. rate se limita a 0.5–2; voice es el name de una voz, exactamente como lo informa speechSynthesis.getVoices() . Si no se encuentra el nombre, se usa la voz predeterminada del navegador.
Aspectos a tener en cuenta
- Necesita
window.speechSynthesis. Si el navegador no lo ofrece, el comando muestra un cuadro de diálogo que indica que la lectura en voz alta no está disponible. - Las voces y los idiomas proceden del navegador y del sistema operativo, no del editor, así que la lista varía entre equipos. El plugin no establece un idioma: la voz elegida determina cómo se pronuncia el texto, por lo que debes elegir una que coincida con el idioma del documento.
- El texto se recopila nodo a nodo sin separadores. Un encabezado sin punto final se lee junto con la siguiente oración y las dos palabras del límite se unen ("station" + "The").
- La oración se muestra con la selección normal, por lo que la barra flotante de formato del editor puede aparecer sobre el texto durante la lectura.
- No se añade nada al documento; el HTML guardado no cambia.
- Los textos de la barra proceden de claves de idioma como
text_ra_play,text_ra_pause,text_ra_stopytext_ra_readingof.
Relacionado: dictado (voz a texto), accesibilidad, referencia de elementos de la barra de herramientas.