vue 文字转语音mp3_vue实现百度语音合成的实例讲解

1.换取access_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("语音合成接口调用失败!");

}

}

}

}

以上就是本次介绍的实例代码内容,大家可以在本机测试下,感谢大家的学习和对的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值