Vue项目接入百度语音提示

这里介绍两种方式:
第一种:
var text = encodeURI("时间滴答滴答就消逝了!")
var token = this.redis.get('token')//百度平台提供接口获取的token 获取的token可以放到redis或者其他缓存中,支持30天有效
var http='http://tsn.baidu.com/text2audio?lan=zh&ctp=1&cuid=abcdxxx&tok='+token+'&tex='+text+'&vol=9&per=0&spd=5&pit=5&aue=3' 
new Audio(http).play();

第二种:

ps:第二种参考网上大神的记录

//token获取地址:https://openapi.baidu.com/oauth/2.0/token?grant_type=client_credentials&client_id=&client_secret=

var param = {
        tex: text,//合成的文本 支持1次及2次urlencode
        tok: this.redis.get('token'),//百度平台提供接口获取的token 获取的token可以放到redis或者其他缓存中,支持30天有效
        cuid: this.redis.get('token'),  //必填
        spd: 5,//语速1-15
        pit: 5,//音调0-15
        vol: 15,//音量0-15,
        per: 4,//基础音库or精品音库
      };
      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
发出的红包

打赏作者

大小先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值