代码
export function Speaker(text: string, lang = 'zh-CN', volume = 1, pitch = 1, rate = 1) {
const speaker: SpeechSynthesisUtterance = new window.SpeechSynthesisUtterance(text);
speaker.text = text;
speaker.lang = lang;
speaker.volume = volume;
speaker.pitch = pitch;
speaker.rate = rate;
return {
getInstance: () => {
return speaker;
},
setText: (txt: string) => {
speaker.text = txt;
},
setLang: (lang: string) => {
speaker.lang = lang;
},
setVolume: (volume: number) => {
speaker.volume = volume;
},
setPitch: (pitch: number) => {
speaker.pitch = pitch;
},
setRate: (rate: number) => {
speaker.rate = rate;
},
setVoice: (voice: any) => {
speaker.voice = voice;
},
getVoices: () => {
return window.speechSynthesis.getVoices();
},
speak: () => {
window.speechSynthesis.speak(speaker);
},
stop: () => {
window.speechSynthesis.cancel();
},
};
}
也可直接安装 js-xxx 工具库直接使用
import { Speaker } from 'js-xxx';
onst mySpeaker = Speaker();
mySpeaker.setText('你好,这是一条测试语音!hello');
mySpeaker.speak();