17.記錄Vue項(xiàng)目實(shí)現(xiàn)文字語(yǔ)音播報(bào)功能

SpeechSynthesisUtterance屬性介紹:

SpeechSynthesisUtterance.lang:設(shè)置話語(yǔ)的語(yǔ)言。 例如:“zh-cn”表示中文

SpeechSynthesisUtterance.pitch:設(shè)置說(shuō)話的音調(diào)(音高)。范圍從0(最?。┑?(最大)。默認(rèn)值為1

SpeechSynthesisUtterance.rate:設(shè)置說(shuō)話的速度。默認(rèn)值是1,范圍是0.1到10,表示語(yǔ)速的倍數(shù),例如2表示正常語(yǔ)速的兩倍

SpeechSynthesisUtterance.text:設(shè)置在說(shuō)話時(shí)將合成的文本內(nèi)容。

SpeechSynthesisUtterance.voice:設(shè)置用于說(shuō)話的聲音。

SpeechSynthesisUtterance.volume:設(shè)置將在其中發(fā)言的音量。區(qū)間范圍是0到1,默認(rèn)是1

<template>
    <button @click="playVoice">播放語(yǔ)音</button>
</template>
<script>
const synth = window.speechSynthesis;
const msg = new SpeechSynthesisUtterance();
export default {
  data() {
      text: "您有新的訂單"
  },
 methods: {
    playVoice() {
      this.handleSpeak(this.text) // 傳入需要播放的文字
    }
    // 語(yǔ)音播報(bào)的函數(shù)
    handleSpeak(text) {
      msg.text = text;     // 文字內(nèi)容: 小朋友,你是否有很多問(wèn)號(hào)
      msg.lang = "zh-CN";  // 使用的語(yǔ)言:中文 
      msg.volume = 0.5;      // 聲音音量:1  設(shè)置將在其中發(fā)言的音量。區(qū)間范圍是0到1,默認(rèn)是1
      msg.rate = 1;        // 語(yǔ)速:1  設(shè)置說(shuō)話的速度。默認(rèn)值是1,范圍是0.1到10,表示語(yǔ)速的倍數(shù),例如2表示正常語(yǔ)速的兩倍
      msg.pitch = 1.5;       // 音高:2  設(shè)置說(shuō)話的音調(diào)(音高)。范圍從0(最?。┑?(最大)。默認(rèn)值為1
      synth.speak(msg);    // 播放
    },
    // 語(yǔ)音停止
    handleStop(e) {
      msg.text = e;
      msg.lang = "zh-CN";
      synth.cancel(msg);
    },
  }
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容