使用js写一个播放语音提示的功能

Posted 丰柏林

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用js写一个播放语音提示的功能相关的知识,希望对你有一定的参考价值。

利用window自带的speechSynthesis编写一个播放语音提示的功能
之前利用百度的在线语音合成发现改不了其中的per属性,自己装了一下node包,发现cnpm引入的时候会与vue-admin-element里面的模块相冲突,导致项目崩掉。重新cnpm install之后项目跑起来了,于是开始使用window自带的编写。

<template>
  <button @click="playVoice">播放通知</button>
</template>
<script>
  const synth = window.speechSynthesis;
  const msg = new SpeechSynthesisUtterance();
  export default 
    data() 
      return ;
    ,
    methods: 
      playVoice() 
        this.handleSpeak('14号床需要取针!') // 传入需要播放的文字
      ,
      // 语音播报的函数
      handleSpeak(text) 
        msg.text = text;
        msg.lang = "zh-CN";  // 使用的语言:中文
        msg.volume = 1;      // 音量:1
        msg.rate = 2;        // 语速:1
        msg.pitch = 0;       // 音高:1
        synth.speak(msg);    // 播放
      ,
      // 语音停止
      handleStop(e) 
        msg.text = e;
        msg.lang = "zh-CN";
        synth.cancel(msg);
      
    
  ;
</script>


以上是关于使用js写一个播放语音提示的功能的主要内容,如果未能解决你的问题,请参考以下文章

文本转语音通过语音合成标记语言(SSML)改进合成 知识点详解

TXT文件文字转语音有啥方法?

Speech语音播报

微信小程序之文本合成语音朗读及长文本分段播放处理

使用自相关算法从语音信号中估计音高

swift中的音频播放器没有获得音量和音高的价值