vue2中前端實(shí)現(xiàn)語(yǔ)音播報(bào)的詳細(xì)過(guò)程
一、播報(bào)情況說(shuō)明
vue中語(yǔ)音播報(bào),目前本人寫(xiě)的過(guò)程中,遇到了兩種情況,第一種是后端直接返回一個(gè)mp3的播放url,第二種就是播報(bào)的內(nèi)容需要前端自己拼接的,關(guān)于兩種方法,我都說(shuō)一下如何實(shí)現(xiàn)
1、后端直接返回mp3播放的url,
從后端拿到的url,以后,可以直接使用new Audio來(lái)創(chuàng)建,以下是我的代碼,這樣寫(xiě)就可以直接播報(bào)了
// 這里的OPERATION_BASE_URL,是我的項(xiàng)目基地址 // alarmAudioUrl是后端返回的語(yǔ)音url地址 let AlarmAudioUrl = OPERATION_BASE_URL + "/" + alarmAudioUrl; let mp3 = new Audio(AlarmAudioUrl); mp3.play(); let times = undefined; mp3.oncanplay = () => { times = mp3.duration; };
2、前端自己拼接文字信息來(lái)播報(bào)
語(yǔ)音播報(bào)的文字是前端自己拼接的,此時(shí)就要用另一種方法,貼上我的代碼,我就自己重新開(kāi)一個(gè)項(xiàng)目demo,
<template> <div> <button @click="playVoice">播放語(yǔ)音</button> </div> </template> <script> const synth = window.speechSynthesis; const msg = new SpeechSynthesisUtterance(); export default { data() { return { message :'小朋友,你是否有很多問(wèn)號(hào),hhhhhhhhhhhhhhhhhhhhhh' }; }, methods: { playVoice() { // message 假設(shè)message是你拼接好的文本信息 this.handleSpeak(this.message ); // 傳入需要播放的文字 }, // 語(yǔ)音播報(bào)的函數(shù) // 比如你從后端接收完數(shù)據(jù),并且自己拼接好以后,就可以直接調(diào)這個(gè)方法,傳入你的文本,就可以播放了 handleSpeak(text) { msg.text = text; // 文字內(nèi)容: 小朋友,你是否有很多問(wèn)號(hào) msg.lang = 'zh-CN'; // 使用的語(yǔ)言:中文 msg.volume = 1; // 聲音音量:1 msg.rate = 1; // 語(yǔ)速:1 msg.pitch = 1; // 音高:1 synth.speak(msg); // 播放 }, }, }; </script>
到此這篇關(guān)于vue2中前端實(shí)現(xiàn)語(yǔ)音播報(bào)的詳細(xì)過(guò)程的文章就介紹到這了,更多相關(guān)vue語(yǔ)音播報(bào)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
前端Vue項(xiàng)目詳解--初始化及導(dǎo)航欄
這篇文章主要介紹了前端Vue項(xiàng)目詳解--初始化及導(dǎo)航欄,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,,需要的朋友可以參考下2019-06-06前端使用vue點(diǎn)擊上傳文件傳送給后端并進(jìn)行文件接收的方法
這篇文章主要介紹了如何在前端和后端實(shí)現(xiàn)文件傳輸,前端使用Vue.js發(fā)送文件,后端使用Java接收文件并處理,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-01-01Vue數(shù)據(jù)與事件綁定以及Class和Style的綁定詳細(xì)講解
這篇文章主要介紹了Vue數(shù)據(jù)與事件綁定以及Class和Style的綁定,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-01-01Element-UI清空表單及驗(yàn)證不生效的問(wèn)題解決
本文主要介紹了Element-UI清空表單及驗(yàn)證不生效的問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-08-08vue中手機(jī)號(hào),郵箱正則驗(yàn)證以及60s發(fā)送驗(yàn)證碼的實(shí)例
下面小編就為大家分享一篇vue中手機(jī)號(hào),郵箱正則驗(yàn)證以及60s發(fā)送驗(yàn)證碼的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03Vue中ElementUI結(jié)合transform使用時(shí)彈框定位不準(zhǔn)確問(wèn)題解析
在近期開(kāi)發(fā)中,需要將1920*1080放到更大像素大屏上演示,所以需要使用到transform來(lái)對(duì)頁(yè)面進(jìn)行縮放,但是此時(shí)發(fā)現(xiàn)彈框定位出錯(cuò)問(wèn)題,無(wú)法準(zhǔn)備定位到實(shí)際位置,本文給大家分享Vue中ElementUI結(jié)合transform使用時(shí)彈框定位不準(zhǔn)確解決方法,感興趣的朋友一起看看吧2024-01-01unplugin-vue-components解決命名沖突問(wèn)題
這篇文章主要介紹了unplugin-vue-components解決命名沖突問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03Vue源碼解析之?dāng)?shù)組變異的實(shí)現(xiàn)
這篇文章主要介紹了Vue源碼解析之?dāng)?shù)組變異的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12