← Toda la documentación

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.

El editor con la tercera oración de un artículo seleccionada mientras se pronuncia y la barra de lectura en voz alta al pie de la ventana que muestra Pause, Stop, la voz Microsoft David - English, velocidad 1x y el estado de lectura de la oración 3 de 10
Se está pronunciando la tercera de diez oraciones, que aparece seleccionada en el editor. La lista de voces es la que ofrece el navegador en ese equipo.

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ónValor predeterminadoFunción
readAloudHighlighttrueSelecciona cada oración en el editor mientras se pronuncia. false lee sin mover la selección.
readAloudRate1.0Velocidad 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_stop y text_ra_readingof.

Relacionado: dictado (voz a texto), accesibilidad, referencia de elementos de la barra de herramientas.