1234567891011121314151617181920212223242526272829303132333435 |
- /**
- * @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)
- }
|