1、windows 系统

if (window.speechSynthesis){
            // window.speechSynthesis.cancel()
            let synth = window.speechSynthesis;
            let msg = new SpeechSynthesisUtterance();
            msg.text = `未审核的微信接运预约数量共${data.wxRecTotal}`;     // 文字内容
            msg.lang = "zh-CN";  // 使用的语言:中文
            msg.volume = 1;      // 声音音量:1
            msg.rate = 1;        // 语速:1
            msg.pitch = 1;       // 音高:1
            msg.voice = this.getWindowVoice()  // 使用本地服务合成语音(若是获取不到 请异步获取, 加一个setTimeout)
            msg.onend = ()=> {}
            synth.speak(msg);
          },
// 获取浏览器中语音 (中文 + 本地服务)
    getWindowVoice(){
      return window.speechSynthesis.getVoices().find(item => item.localService && item.lang === 'zh-CN')
    },

2、国产化系统(后端调取百度云服务)

async handleSpeak(row){
      let res = await Type["saveCremationStayTakeAsh"]({
        businessCode:row.businessCode,
        text:`逝者:${row.deadName},已火化完成,请家属到取灰窗口领取骨灰!`
      })
      console.log(res,'语音播报返回');
      if(res.code!=1) return this.$message.error(res.message)
      const audio = document.createElement('audio');
      audio.src = res.data;
      audio.play();
      audio.addEventListener('ended', ()=>{
        audio.remove();
      });
    },

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐