没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
vue实现百度语音合成的实例讲解实现百度语音合成的实例讲解
在本篇文章里小编给大家整理的是关于vue实现百度语音合成的实例内容,以及相关代码,需要的朋友们参考下。
这里我完全依照百度提供的语音合成api来做:https://ai.baidu.com/docs#/TTS-Online-Node-SDK/top 直接去看node.js SDK。
1.换取换取access_token::
参考:https://ai.baidu.com/docs#/TTS-API/top,在这里用浏览器换取token
2.下载下载sdk依赖:依赖:
npm install baidu-aip-sdk
完整代码(非原创,参考了一个demo,但是很久以前写的找不到了):
btts(text) {
console.log(text); //以下参数参考api文档,token和人的声音音色之类的参数
var param={
tex: text,
tok: '24.e835483633e8680242bb042693e1c071.********.1573463462.******-16425747',//这个token要换成自己的
spd: 5,
pit: 5,
vol: 15,
per: 4
};
var url = 'http://tsn.baidu.com/text2audio';
var p = param || {};
var that = this;
var xhr = new XMLHttpRequest();
xhr.open('POST', url);
// 创建form参数
var data = {};
for (var p in param) {
data[p] = param[p]
}
// 赋值预定义参数
data.cuid = data.cuid || data.tok;
data.ctp = 1;
data.lan = data.lan || 'zh';
//以上为封装请求的参数
// 序列化参数列表
var fd = [];
for(var k in data) {
fd.push(k + '=' + encodeURIComponent(data[k]));
}
var frd = new FileReader();
xhr.responseType = 'blob';
xhr.send(fd.join('&'));
//请求返回结果处理
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
if (xhr.response.type == 'audio/mp3') {
//创建audio对象进行播报
var audio = new Audio();
audio.setAttribute('src', URL.createObjectURL(xhr.response));
audio.play();
audio=null;
}else{
//这里如果百度语音合成的接口返回类型不是audio/mp3,是json的话,代表你的参数有问题,返回结果失败,具体可以查看api文档
alert("调用语音合成接口token已失效!");
}
}else{
alert("语音合成接口调用失败!");
}
}
}
}
以上就是本次介绍的实例代码内容,大家可以在本机测试下,感谢大家的学习和对我们的支持。
资源评论
weixin_38680475
- 粉丝: 6
- 资源: 933
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功