10.2.1 JS实现语音朗读

一、JS实现文本的语音朗读

摘要: 语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的、或外部输入的文字信息转变为可以听得懂的、流利的口语输出的技术。

1、接口定义

  1. http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=你要转换的文字

参数说明:

  1. lan=zh:语言是中文,如果改为lan=en,则语言是英文。
  2. ie=UTF-8:文字格式。
  3. spd=2:语速,可以是1-9的数字,数字越大,语速越快。
  4. text=**:这个就是你要转换的文字。

2、示例代码

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  5. <title>百度语音测试</title>
  6. <script type="text/javascript">
  7. function doTTS(){
  8. var ttsDiv = document.getElementById('bdtts_div_id');
  9. var ttsAudio = document.getElementById('tts_autio_id');
  10. var ttsText = document.getElementById('ttsText').value;
  11. // 这样为什么替换不了播放内容
  12. /*var ssrcc = 'http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=10&text='+ttsText;
  13. document.getElementById('tts_source_id').src=ssrcc;*/
  14. // 这样就可实现播放内容的替换了
  15. ttsDiv.removeChild(ttsAudio);
  16. var au1 = '<audio id="tts_autio_id" autoplay="autoplay">';
  17. var sss = '<source id="tts_source_id" src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=9&text='+ttsText+'" type="audio/mpeg">';
  18. var eee = '<embed id="tts_embed_id" height="0" width="0" src="">';
  19. var au2 = '</audio>';
  20. ttsDiv.innerHTML = au1 + sss + eee + au2;
  21. ttsAudio = document.getElementById('tts_autio_id');
  22. ttsAudio.play();
  23. }
  24. </script>
  25. </head>
  26. <body>
  27. <div>
  28. <input type="text" id="ttsText">
  29. <input type="button" id="tts_btn" onclick="doTTS()" value="播放">
  30. </div>
  31. <div id="bdtts_div_id">
  32. <audio id="tts_autio_id" autoplay="autoplay">
  33. <source id="tts_source_id" src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=9&text=播报内容" type="audio/mpeg">
  34. <embed id="tts_embed_id" height="0" width="0" src="">
  35. </audio>
  36. </div>
  37. </body>
  38. </html>

二、Html调用本地语音

  1. <!DOCTYPE HTML>
  2. <html>
  3. <body>
  4. <audio src="../audio/areaAlarm.mp3" controls="controls">
  5. Your browser does not support the audio element.
  6. </audio>
  7. </body>
  8. </html>