js中文字合成语音,文字转语音的实现方法

SpeechSynthesisUtterance是HTML5中新增的API,用于将指定文字合成为对应的语音.也包含一些配置项,指定如何去阅读(语言,音量,音调)等,该api对于盲人或弱视用户是非常有用的!

var msg = new SpeechSynthesisUtterance("这里是转语音的测试文本,");
window.speechSynthesis.speak(msg);
/**
*  text – 要合成的文字内容,字符串
* lang – 使用的语言,字符串, 例如:“zh-cn”
* voiceURI – 指定希望使用的声音和服务,字符串
* volume – 声音的音量,区间范围是0到1,默认是1
* rate – 语速,数值,默认值是1,范围是0.1到10,表示语速的倍数,例如2表示正常语速的两倍。
* pitch – 表示说话的音高,数值,范围从0(最小)到2(最大)。默认值为1
*/

//因此也可以这么写
var msg= new window.SpeechSynthesisUtterance();
msg.text = '你好,世界!';
msg.lang="zh-Hk";
msg.volume = '1';
msg.rate = 1;
msg.pitch = 1;
speechSynthesis.speak(msg);

SpeechSynthesisUtterance基本属性
SpeechSynthesisUtterance.lang 获取并设置话语的语言
SpeechSynthesisUtterance.pitch 获取并设置话语的音调(值越大越尖锐,越低越低沉)
SpeechSynthesisUtterance.rate 获取并设置说话的速度(值越大语速越快,越小语速越慢)
SpeechSynthesisUtterance.text 获取并设置说话时的文本
SpeechSynthesisUtterance.voice 获取并设置说话的声音
SpeechSynthesisUtterance.volume 获取并设置说话的音量

speechSynthesis对象,主要作用是触发行为,例如读,停,还原等
speak() – 只能接收SpeechSynthesisUtterance作为唯一的参数,作用是读合成的话语。
stop() – 立即终止合成过程。
pause() – 暂停合成过程。
resume() – 重新开始合成过程。
getVoices – 此方法不接受任何参数,用来返回浏览器支持的语音包列表,是个数组。

该Api的一些回调方法
onstart – 语音合成开始时候的回调。
onpause – 语音合成暂停时候的回调。
onresume – 语音合成重新开始时候的回调。
onend – 语音合成结束时候的回调。

在这里插入图片描述

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目的是使语音技术能在互联网更广泛的应用。每一个页面,只要加入一段javascript脚本就能使用,经过1个多月的努力,终于初步实现的功能,首先在数字报纸上使用:目的是使语音技术能在互联网更广泛的应用。每一个页面,只要加入一段javascript脚本就能使用,经过1个多月的努力,终于初步实现的功能,首先在数字报纸上使用:目的是使语音技术能在互联网更广泛的应用。每一个页面,只要加入一段javascript脚本就能使用,经过1个多月的努力,终于初步实现的功能,首先在数字报纸上使用:目的是使语音技术能在互联网更广泛的应用。每一个页面,只要加入一段javascript脚本就能使用,经过1个多月的努力,终于初步实现的功能,首先在数字报纸上使用:目的是使语音技术能在互联网更广泛的应用。每一个页面,只要加入一段javascript脚本就能使用,经过1个多月的努力,终于初步实现的功能,首先在数字报纸上使用:目的是使语音技术能在互联网更广泛的应用。每一个页面,只要加入一段javascript脚本就能使用,经过1个多月的努力,终于初步实现的功能,首先在数字报纸上使用:目的是使语音技术能在互联网更广泛的应用。每一个页面,只要加入一段javascript脚本就能使用,经过1个多月的努力,终于初步实现的功能,首先在数字报纸上使用:目的是使语音技术能在互联网更广泛的应用。每一个页面,只要加入一段javascript脚本就能使用,经过1个多月的努力,终于初步实现的功能,首先在数字报纸上使用:目的是使语音技术能在互联网更广泛的应用。每一个页面,只要加入一段javascript脚本就能使用,经过1个多月的努力,终于初步实现的功能,首先在数字报纸上使用:目的是使语音技术能在互联网更广泛的应用。每一个页面,只要加入一段javascript脚本就能使用,经过1个多月的努力,终于初步实现的功能,首先在数字报纸上使用:目的是使语音技术能在互联网更广泛的应用。每一个页面,只要加入一段javascript脚本就能使用,经过1个多月的努力,终于初步实现的功能,首先在数字报纸上使用:目的是使语音技术能在互联网更广泛的应用。每一个页面,只要加入一段javascript脚本就能使用,经过1个多月的努力,终于初步实现的功能,首先在数字报纸上使用:
实现H5语音播报和语音文字互转,可以通过以下两种方式: 1. 使用Web Speech API Web Speech API是一个JavaScript API,可以让开发者在网页上实现语音识别和语音合成功能。使用Web Speech API实现H5语音播报和语音文字互转,可以按照以下步骤: - 检查浏览器是否支持Web Speech API。 - 使用SpeechRecognition对象实现语音识别功能。 - 使用SpeechSynthesis对象实现语音合成功能。 以下是一个简单的示例代码: ```javascript // 检查浏览器是否支持Web Speech API if ('speechSynthesis' in window && 'SpeechRecognition' in window) { // 创建语音合成对象 var synth = window.speechSynthesis; // 创建语音识别对象 var recognition = new window.SpeechRecognition(); // 监听语音识别结果 recognition.onresult = function(event) { var result = event.results[0][0].transcript; console.log(result); }; // 开始语音识别 recognition.start(); // 播放语音 var utterance = new SpeechSynthesisUtterance('Hello world!'); synth.speak(utterance); } else { console.log('Web Speech API is not supported.'); } ``` 2. 使用第三方服务 除了使用Web Speech API,还可以使用第三方服务实现H5语音播报和语音文字互转。例如,可以使用百度语音技术实现语音识别和语音合成功能。具体步骤如下: - 注册百度语音技术开发者账号,并创建应用。 - 在网页引入百度语音技术的JavaScript SDK。 - 使用百度语音技术的API实现语音识别和语音合成功能。 以下是一个简单的示例代码: ```javascript // 引入百度语音技术的JavaScript SDK <script src="https://cdn.jsdelivr.net/npm/bd-audio"></script> // 创建百度语音技术的语音识别对象 var speechRecognizer = new BaiduASR(); // 开始语音识别 speechRecognizer.start({ onComplete: function(result) { console.log(result); } }); // 创建百度语音技术的语音合成对象 var speechSynthesizer = new BaiduTTS(); // 播放语音 speechSynthesizer.speak('Hello world!'); ``` 需要注意的是,使用第三方服务需要遵守相关服务条款和隐私政策,并保障用户个人隐私安全。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值