详解在网页上通过JS实现文本的语音朗读
作者:小括号时间:2026-10-23 05:56:27浏览:383
本文介绍如何在网页中利用JavaScript调用百度语音合成接口实现文本朗读。通过构造包含语言、编码、语速及文本内容的URL参数,生成音频源并嵌入HTML音频标签。文中提供了完整的HTML与JS代码示例,演示如何动态生成语音链接并自动播放,适用于前端简单的语音播报需求。
语音合成接口概述
摘要:语音合成技术,亦称文本转语音(TTS),旨在将计算机生成或外部输入的文字信息转化为流畅、可听的口语输出。
接口参数详解
1、接口定义
http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=2&text=你要转换的文字
参数说明如下:
- lan=zh:指定语音语言为中文;若修改为lan=en,则语音语言变为英文。
- ie=UTF-8:指定文字编码格式。
- spd=2:设定语速,取值范围为1至9的整数,数值越大表示语速越快。
- text=**:此处填入需要转换为语音的具体文字内容。
代码实现示例
2、示例代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>百度语音测试</title>
<script type="text/javascript">
function doTTS(){
var ttsDiv = document.getElementById('bdtts_div_id');
var ttsAudio = document.getElementById('tts_autio_id');
var ttsText = document.getElementById('ttsText').value;
// 这样为什么替换不了播放内容
/*var ssrcc = 'http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=10&text='+ttsText;
document.getElementById('tts_source_id').src=ssrcc;*/
// 这样就可实现播放内容的替换了
ttsDiv.removeChild(ttsAudio);
var au1 = '<audio id="tts_autio_id" autoplay="autoplay">';
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">';
var eee = '<embed id="tts_embed_id" height="0" width="0" src="">';
var au2 = '</audio>';
ttsDiv.innerHTML = au1 + sss + eee + au2;
ttsAudio = document.getElementById('tts_autio_id');
ttsAudio.play();
}
</script>
</head>
<body>
<div>
<input type="text" id="ttsText">
<input type="button" id="tts_btn" onclick="doTTS()" value="播放">
</div>
<div id="bdtts_div_id">
<audio id="tts_autio_id" autoplay="autoplay">
<source id="tts_source_id" src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=9&text=播报内容" type="audio/mpeg">
<embed id="tts_embed_id" height="0" width="0" src="">
</audio>
</div>
</body>
</html>
参考资料与结语
3、参考资料
参考网址:http://yuyin.baidu.com/docs/tts/44
以上为在网页中通过JavaScript实现文本语音朗读的完整介绍,希望能为读者提供帮助。如有任何疑问,欢迎留言,小编将及时回复。同时感谢大家对本站的支持!
作者最新文章
JS语法错误会阻止加载吗?区分SyntaxError与资源加载失败
2026-11-05 16:08:46
JavaScript常见SyntaxError语法错误排查与修复方法
2026-11-05 13:58:44
JS中slice、substring和substr截取字符串的区别
2026-11-05 13:43:47
JS 转 TS 手动迁移最佳实践:从配置 tsconfig 到消除 any 类型
2026-11-05 11:53:32
为什么JS数组push后得到的是数字而不是数组?
2026-11-05 09:59:18
