前端语音播报笔记
【代码】前端语音播报笔记。
·
1、windows 系统
if (window.speechSynthesis){
// window.speechSynthesis.cancel()
let synth = window.speechSynthesis;
let msg = new SpeechSynthesisUtterance();
msg.text = `未审核的微信接运预约数量共${data.wxRecTotal}`; // 文字内容
msg.lang = "zh-CN"; // 使用的语言:中文
msg.volume = 1; // 声音音量:1
msg.rate = 1; // 语速:1
msg.pitch = 1; // 音高:1
msg.voice = this.getWindowVoice() // 使用本地服务合成语音(若是获取不到 请异步获取, 加一个setTimeout)
msg.onend = ()=> {}
synth.speak(msg);
},
// 获取浏览器中语音 (中文 + 本地服务)
getWindowVoice(){
return window.speechSynthesis.getVoices().find(item => item.localService && item.lang === 'zh-CN')
},
2、国产化系统(后端调取百度云服务)
async handleSpeak(row){
let res = await Type["saveCremationStayTakeAsh"]({
businessCode:row.businessCode,
text:`逝者:${row.deadName},已火化完成,请家属到取灰窗口领取骨灰!`
})
console.log(res,'语音播报返回');
if(res.code!=1) return this.$message.error(res.message)
const audio = document.createElement('audio');
audio.src = res.data;
audio.play();
audio.addEventListener('ended', ()=>{
audio.remove();
});
},
更多推荐
所有评论(0)