js文字转语音播放SpeechSynthesisUtterance

文字转语音

SpeechSynthesisUtterance是HTML5中新增的API,用于将指定文字合成为对应的语音

function sayTTS(content) {
  const synth = window.speechSynthesis;
  const msg = new SpeechSynthesisUtterance()
  msg.text = content;//文字内容
  msg.lang = "zh-CN";//使用的语言:中文
  msg.volume = 1;
  //声音音量:0-1
  msg.rate = 0.8;
  //语速:0-10
  msg.pitch = 0.8;
  //音高:0-1
  synth.speak(msg);
  //播放
  msg.onend = () => {
    console.log("语音播报结束");
  }

事件

    //暂停
      synth.pause();
    //重新开始
      synth.resume();
    //取消
      synth.cancel();
    //获取支持的语言数组. 注意:必须添加在voiceschanged事件中才能生效
     synth.getVoices
	msg.lang:使用语言
	msg.onboundary:语音达到单词或句子边界时触发
	msg.onend: 语音说完后触发(这是一个函数)
	msg.onerror: 错误时触发
	msg.onmark: 语音到达指定的 SSML “标记” 标签时触发
	msg.onpause: 暂停
	msg.onresume: 恢复暂停
	msg.onstart: 开始
	msg.pitch: 音高
	msg.rate: 语速
	msg.text: 文本
	msg.voice: 语音
	msg.volume: 音量

兼容

ie不支持,目前主流浏览器如Chrome,Edge,Safari等等都是支持的

posted @ 2022-07-26 11:57  流云君  阅读(1265)  评论(0编辑  收藏  举报