初始化
This commit is contained in:
35
frontend/packages/js/utils/voiceBroadcast.js
Normal file
35
frontend/packages/js/utils/voiceBroadcast.js
Normal file
@@ -0,0 +1,35 @@
|
||||
/**
|
||||
* @description 文字转语音方法
|
||||
* @public
|
||||
* @param { text, rate, lang, volume, pitch } object
|
||||
* @param text 要合成的文字内容,字符串
|
||||
* @param rate 读取文字的语速 0.1~10 正常1
|
||||
* @param lang 读取文字时的语言
|
||||
* @param volume 读取时声音的音量 0~1 正常1
|
||||
* @param pitch 读取时声音的音高 0~2 正常1
|
||||
* @returns SpeechSynthesisUtterance
|
||||
*/
|
||||
export default function speak ({ text, speechRate, lang, volume, pitch }, endEvent, startEvent) {
|
||||
if (!window.SpeechSynthesisUtterance) {
|
||||
console.warn('当前浏览器不支持文字转语音服务')
|
||||
return
|
||||
}
|
||||
|
||||
if (!text) {
|
||||
return
|
||||
}
|
||||
|
||||
const speechUtterance = new SpeechSynthesisUtterance()
|
||||
speechUtterance.text = text
|
||||
speechUtterance.rate = speechRate || 1
|
||||
speechUtterance.lang = lang || 'zh-CN'
|
||||
speechUtterance.volume = volume || 1
|
||||
speechUtterance.pitch = pitch || 1
|
||||
speechUtterance.onend = function () {
|
||||
endEvent && endEvent()
|
||||
}
|
||||
speechUtterance.onstart = function () {
|
||||
startEvent && startEvent()
|
||||
}
|
||||
speechSynthesis.speak(speechUtterance)
|
||||
}
|
||||
Reference in New Issue
Block a user