vue自定义文字转播放语音 兼容谷歌

网上看了几种方法都不兼容谷歌 例如:SpeechSynthesisUtterance 方法
这里是调用 百度接口

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=**:这个就是你要转换的文字。

html / template :

 <span style="margin-left: 10px;" @click="doTTS">播放</span>
 
    <div v-show="false">
      <audio id="autio-id" autoplay="autoplay">
        <source
          src="http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=3&text=您好,您有新的告警信息产生啦"
          type="audio/mpeg"
        />
        <embed height="0" width="0" src="" />
      </audio>
    </div>

js :

  methods: {
   //调用方法
    doTTS() {
       let ttsAudio = document.getElementById("autio-id");
       ttsAudio.play();
    }
  }

优化!

 <span style="margin-left: 10px;" @click="doTTS('内容已被修改')">播放</span>
export default {
  data() {
    return {
      srcVal:
        "http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=3&text=您好,您有新的告警信息产生啦"
    };
  },

  methods: {
    doTTS(val) {
      this.srcVal = `http://tts.baidu.com/text2audio?lan=zh&ie=UTF-8&spd=3&text=${val}`;
      let audio = new Audio();
      audio.src = this.srcVal;
      audio.play();
    }
  }

亲测 谷歌有效~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值