¿Cómo puedo implementar texto-a-voz en lenguaje html o javascript para navegadores web?

Quiero una página web para leer un texto en voz alta (en una voz de robot!).

Sobre esta página web, hay un botón que, cuando se hace clic, de forma aleatoria muestra una de las 3 frases. Me gustaría tener otro botón que se puede hacer clic que va a leer el texto en voz alta. Alternativamente, puedes leer el texto en voz alta automáticamente cuando el primer botón es pulsado.

aquí está el código correspondiente…

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
  <script type="text/javascript">
    var randomStrings = [
     "this is an example of a random string",
     "here's another random string",
     "or maybe this string will be chosen at random"
      ];
    function RndMsg() {
      var msg = randomStrings[Math.floor(Math.random()*randomStrings.length)];
      document.getElementById('randomDiv').innerHTML = msg;
      }
  </script>
</head>

<body>
  <form action="" method="post" onsubmit="return false">
    <input type="button" value="Randomize!" name="sessionid" onclick="RndMsg()"/>
//click the button->text appears below... i want browser or OS to read it aloud
  </form>
  <form action="" method="post" onsubmit="return false">
    <div id="randomDiv"> </div>
  </form>
</body>
</html>

Soy un novato, así que me pregunto si hay una manera simple de hacer esto. gracias!

InformationsquelleAutor chrisg | 2013-11-21

1 Kommentar

  1. 4

    He utilizado speak.js para algunos proyectos personales antes.

    De la página de GitHub:

    Un puerto de la eSpeak sintetizador de voz de C++ para el uso de JavaScript
    Emscripten.

    Permite texto-a-voz en la web utilizando sólo JavaScript y HTML5.

    Demo Online: http://syntensity.com/static/espeak.html

    • Voy a echarle un vistazo, gracias!
    • esto funcionó a la perfección. Me gustaría upvote tu respuesta, pero mi reputación es demasiado baja. gracias.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea