亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > HTML > 正文

鮮為人知的HTML5語音合成功能

2024-08-26 00:21:28
字體:
供稿:網(wǎng)友

聽一下就會發(fā)現(xiàn),播放出來的聲音并不是預(yù)先錄制好的音頻資料,而是通過文字識別后合成的語音

請先戴上耳機(jī),然后將下面的代碼復(fù)制到chrome控制臺中體驗(yàn)~

let msg = new SpeechSynthesisUtterance("歡迎你閱讀我的博客");window.speechSynthesis.speak(msg);

看,前端實(shí)現(xiàn)語音合成并不難

今天的主角 Speech Synthesis API

通過上面的例子我們可以猜測到上面調(diào)用的兩個方法的功能

SpeechSyntehesisUtterancwindow.speechSynthesis.speak

當(dāng)然了,語音合成不僅僅包含這兩個API,but我們先從這兩點(diǎn)入手

SpeechSyntehesisUtteranc

參考:developer.mozilla.org/en-US/docs/… SpeechSyntehesisUtteranc 對象包含了語音服務(wù)要讀取的內(nèi)容和一些參數(shù),比如語言,音高和音量

SpeechSyntehesisUtteranc()SpeechSynthesisUtterance.langSpeechSynthesisUtterance.pitchSpeechSynthesisUtterance.rateSpeechSynthesisUtterance.voiceSpeechSynthesisUtterance.volume

注意:以上屬性都是 可讀寫 的! 可以把下面這段代碼copy下來嘗試一下,注釋中會有說明

let msg = new SpeechSynthesisUtterance();msg.text = "how are you" // 要合成的文本msg.lang = "en-US" // 美式英語發(fā)音(默認(rèn)自動選擇)msg.rate = 2  // 二倍速(默認(rèn)為 1,范圍 0.1~10)msg.pitch = 2 // 高音調(diào)(數(shù)字越大越尖銳,默認(rèn)為 1,范圍 0~2 )msg.volume = 0.5 // 音量 0.5 倍(默認(rèn)為1,范圍 0~1)window.speechSynthesis.speak(msg);

同時這個對象還可以響應(yīng)一系列事件,可能會用到的:

  • start
  • end
  • boundary
  • pause
  • resume

借助這些事件我們可以完成一些簡單的功能,比如英文句子的單詞數(shù)量統(tǒng)計(jì):

HTML5,語音合成

let count = 0; // 詞語數(shù)量let msg = new SpeechSynthesisUtterance();let synth = window.speechSynthesis;msg.addEventListener('start',()=>{    // 開始閱讀    console.log(`文本內(nèi)容: ${msg.text}`);    console.log("start");});msg.addEventListener('end',()=>{    // 閱讀結(jié)束    console.log("end");    console.log(`文本單詞(詞語)數(shù)量:${count}`);    count = 0;});msg.addEventListener('boundary',()=>{    // 統(tǒng)計(jì)單詞    count++;});

經(jīng)過嘗試,由于中文沒有用空格將每個詞語分開,所以會進(jìn)行自動的識別,比如 歡迎讀者 會被識別為 歡迎 和 讀者 兩個詞語

SpeechSynthesis

參考: developer.mozilla.org/en-US/docs/…

說完了 SpeechSyntehesisUtteranc 我們再來看看 SpeechSynthesis

SpeechSynthesis 的主要作用是對語音進(jìn)行一系列的控制,比如開始或者暫停

它有三個只讀屬性,表明了語音的狀態(tài):

SpeechSynthesis.pausedSpeechSynthesis.pending

同時還有一系列方法用來操作語音:

•SpeechSynthesis.speak() 開始讀語音,同時觸發(fā) start 事件 
•SpeechSynthesis.pause() 暫停,同時觸發(fā) pause 事件 
•SpeechSynthesis.resume() 繼續(xù),同時觸發(fā) resume 事件 
•SpeechSynthesis.cancel() 取消閱讀,同時觸發(fā) end 事件

基于這些操作方法,我們可以進(jìn)一步增強(qiáng)我們的文字閱讀器:

HTML5,語音合成

回到最初的起點(diǎn)

讓我們回到最初的起點(diǎn),我們可以基于上面的內(nèi)容猜測一下有些網(wǎng)站中,文章的自動閱讀是怎么實(shí)現(xiàn)的

如果這個網(wǎng)站前端采用了 MVVM 框架(以 Vue 為例),那么文章內(nèi)容是也許存儲在 data 中,可以用來構(gòu)造我們需要的語音合成

當(dāng)然,也有可能文章是通過 ajax 請求得到的,解析請求的數(shù)據(jù),構(gòu)造語音合成對象

如果文章是直接在 html 中寫死的,這個時候就需要對 DOM 進(jìn)行解析,經(jīng)過測試,即便是下面這樣的混亂的結(jié)構(gòu)

<div id="test">    <p>1</p>    <p>2</p>    <ul>        <li>3</li>        <li>4</li>    </ul>    <table>        <tr>            <td>5</td>            <td>6</td>        </tr>        <tr>            <td>7</td>            <td>8</td>        </tr>    </table>    <img src="https://www.baidu.com/img/bd_logo1.png"    9</div>

直接通過 innerText 讀取其中的文本,然后構(gòu)造語音合成對象,也能按照期望順序閱讀(圖片會被忽略)

當(dāng)然如果我們想要忽略一些特殊的結(jié)構(gòu),比如表格,我們可以花一些精力在解析上,把我們不想要的數(shù)據(jù)或者 DOM 元素篩掉

不管怎樣,我們都能找到合適的解決方案~

閑話

這個特性,是一個還在草案中的特性,沒有被廣泛支持

再次強(qiáng)調(diào),這個 API 暫時還不能應(yīng)用到生產(chǎn)環(huán)境中

目前比較通用的做法是在后端構(gòu)造將文本合成成語音文件的 API(也許是第三方 API),然后在前端作為媒體播放

曾經(jīng)在我迷茫的時候,我去閱讀一些大牛的文章,讀到一些前輩對前端開發(fā)的思考。其中有一點(diǎn)令我印象深刻:

前端是最貼近用戶的,一切要從用戶的的角度考慮,無障礙使用也是一個很重要的課題。雖然做這樣的功能帶來的收益遠(yuǎn)遠(yuǎn)小于其他業(yè)務(wù),但是為了讓產(chǎn)品更好的服務(wù)用戶,多付出一些勞動也是值得的,這也是前端開發(fā)的一種精神
 

總結(jié)

以上所述是小編給大家介紹的鮮為人知的HTML5語音合成功能,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復(fù)大家的!


注:相關(guān)教程知識閱讀請移步到HTML教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
久草在线资源站手机版| 无码av中文一区二区三区桃花岛| 岛国av一区二区在线在线观看| 中文字幕亚洲欧美一区二区三区| 欧美极品美女电影一区| 日韩有码片在线观看| 久久人91精品久久久久久不卡| 亚洲欧美日韩在线综合| 高清不卡av| www.久久爱.com| 一级黄色大片免费观看| 久久久久久久久岛国免费| 97人妻精品一区二区免费| 日韩午夜免费| 国产美女裸体无遮挡免费视频| 最新av免费在线观看| jizz亚洲女人高潮大叫| 国产网站免费观看| 欧美狂野另类xxxxoooo| 欧美国产成人精品| 亚洲一区图片| 女生裸体视频网站免费观看| 国产suv一区二区三区88区| av女人的天堂| 夜夜爽99久久国产综合精品女不卡| 国产精品久久一区二区三区不卡| 亚洲色大成网站www久久九九| 嫩草国产精品入口| 98精品国产高清在线xxxx天堂| 久久国产成人精品国产成人亚洲| 亚洲国产欧美一区二区三区久久| 色八戒一区二区三区| 国产盗摄在线观看| 成人久久视频在线观看| 综合天堂久久久久久久| 97精品资源在线观看| 久久国产一区二区| 国产精品免费无遮挡| abab456成人免费网址| 日本不卡高字幕在线2019| 奇米777在线视频| 欧美大陆一区二区| 美女激情网站| 日韩经典一区二区三区| 在线中文字幕网站| 亚洲免费播放| 亚洲国产小视频| 亚洲色图欧美自拍| 国产精品又粗又长| 色综合导航网站| 97香蕉碰碰人妻国产欧美| 三区精品视频观看| jizzjizzjizz欧美| 麻豆国产欧美日韩综合精品二区| 欧美高清视频在线播放| 一区二区三区欧美在线| 欧美国产精品人人做人人爱| 久久久久久久综合| 国产爆乳无码一区二区麻豆| 精品99在线视频| 日韩成人伦理电影在线观看| caoporn-草棚在线视频最| 亚洲男人资源| 欧美一区二区视频在线观看2022| 波多视频一区| 中文字幕av影院| 中文文字幕一区二区三三| 国产午夜精品一区在线观看| 在线影视一区| 在线免费高清一区二区三区| 久久成人精品| 日本中文字幕在线视频观看| 日本少妇xxxxx| 99re66热这里只有精品4| 亚洲精品一区二区三区在线| 国产清纯在线一区二区www| 午夜欧美激情| 国产精品福利小视频| 一路向西2在线观看| 欧美日韩亚洲一区三区| 亚洲欧洲精品一区二区| 99热在线观看免费精品| 国产视频一区在线观看一区免费| 制服丝袜综合日韩欧美| 天天揉久久久久亚洲精品| 欧美在线导航| 国产亚洲欧洲997久久综合| 在线免费av网址| 9191国产精品| 深夜成人在线| 伊是香蕉大人久久| 久久久亚洲高清| 久久精品视频2| 久久久精品毛片| www.亚洲一区二区三区| 精品日韩在线一区| 亚洲精品一区二区三区新线路| 欧美日韩中文字幕一区二区| 国产日韩另类视频一区| 日日狠狠久久偷偷综合色| 加勒比av在线播放| 国产九区一区在线| 亚洲每日在线| 26uuu国产| 98精品国产自产在线观看| 青草视频在线播放| 亚洲国产高清视频| 香蕉免费毛片视频| 美脚恋feet久草欧美| 天天射,天天干| av第一福利在线导航| 亚洲福利视频网站| 色综合久久66| 国产精品美女久久久久高潮| 91精品1区2区| 久久成人精品视频| 久久视频在线观看免费| 免费色片视频| 黑人精品欧美一区二区蜜桃| 亚洲欧美日韩动漫| 后入内射欧美99二区视频| 国产精品免费观看久久| 99精品视频免费全部在线| 国产高清无密码一区二区三区| 亚洲系列中文字幕| 黄瓜视频污app| 精品写真视频在线观看| 91人妻一区二区三区蜜臀| 国产精品99久久免费黑人人妻| 日韩福利电影在线| av在线电影播放| 98精品视频| 亚洲高清久久| 亚洲精品精品一区| 免费毛片一区二区三区久久久| 激情小说网站亚洲综合网| 91成品视频入口| 日本免费一区视频| 一色桃子av在线| 26uuu另类欧美| 国产精品第8页| 久久午夜夜伦鲁鲁一区二区| 午夜精品视频一区| 久久久噜噜噜久久中文字免| 日韩美一区二区三区| 日本不卡一区二区三区高清视频| 久久精品日产第一区二区| 日韩女优av电影| 正在播放91九色| 手机在线视频一区| 中文字幕 亚洲视频| 性欧美videosex高清少妇| 久热精品在线观看视频| **在线精品| 久久综合九色综合欧美狠狠| 色爽爽爽爽爽爽爽爽| 欧美在线观看日本一区| jizz久久久久久| 中文字幕av无码一区二区三区| 在线不卡一区二区三区| 68精品国产免费久久久久久婷婷| 久久国产精品99久久人人澡| se在线视频| 全部免费毛片在线播放一个| 日本韩国在线视频爽| 视频小说一区二区| 老司机2019福利精品视频导航| 黄网站在线观看永久免费| 91亚洲精品久久久久久久久久久久| 国产日韩欧美电影在线观看| 免费裸体视频网站| 国产欧美精品一区二区色综合朱莉| 东热在线免费视频| 欧美性一区二区三区| 91麻豆精品国产综合久久久| jizz在线观看| 国产成人无码aa精品一区| 一级片免费在线观看| 日韩一区二区三区免费| 狠色狠色综合久久| 99精品一区二区三区的区别| 99福利在线| 日韩高清一区二区| 女女互磨互喷水高潮les呻吟| 欧美日韩国产综合视频在线观看中文| 另类欧美视频| 国产精品免费视频久久久| 久久久久久久久久影视| 成人欧美一区二区三区在线播放| 亚洲精华国产欧美| 国产精品免费人成网站| 亚洲美女欧洲| 69中国xxxxxxxxx69| 中文成人综合网| 亚洲另类春色国产| 国产l精品国产亚洲区在线观看| 国产又粗又大又长| 亚洲综合色视频| 国产一线二线三线女| 韩国福利在线| 成年人黄视频网站| 亚洲一区二区四区| 四虎国产精品成人免费入口| 97超碰人人爽| 久久精品magnetxturnbtih| 手机看片福利盒子久久| 97在线观看免费观看高清| 久久亚洲精华国产精华液| 精品国产户外野外| 亚洲免费av在线| 网站在线观看你懂的| 欧美日韩国产黄色| 久久影音资源网| 国产日韩高清在线| 亚洲人在线视频| 国产亚洲欧美一区| 国产一区二区三区自拍| 日日躁夜夜躁人人揉av五月天| 国产精品福利电影| 色天天综合久久久久综合片| 三年中国中文在线观看免费播放| 国产亚洲亚洲| 欧美一级片在线观看| 人人超在线公开视频| 精品国产精品网麻豆系列| japansex久久高清精品| 色琪琪一区二区三区亚洲区| www.99久久热国产日韩欧美.com| 日本黄色一级网站| 丝袜连裤袜欧美激情日韩| 国产最新精品精品你懂的| 久久免费公开视频| 99综合99| 九九视频在线播放| caoporn超碰97| 国产精品麻豆久久| 国风产精品一区二区| 国产夫妻自拍av| 午夜精品在线| 欧美日韩精品一区二区三区视频| 99re99热| 自拍偷自拍亚洲精品被多人伦好爽| 可以免费观看的黄色网址| 少妇精品久久久| 色婷婷久久av| 91视频国产资源| 免费黄色片视频| 国产盗摄精品一区二区三区在线| 日韩精品一区二区亚洲av观看| 一区二区三区四区在线看| free极度另类性欧美| 日韩免费高清av| 三区视频在线观看| 国产日韩中文字幕在线| 亚洲精品第一国产综合野草社区| 国产精自产拍久久久久久蜜| 色婷婷精品久久二区二区蜜臂av| 国产毛片精品一区| 成人性生交大片免费看中文| 亚洲免费高清| 丝袜美腿成人在线| 国产精品久久久久久久妇| 国产v亚洲v天堂无码久久久| 一级久久久久久| 伊伊综合在线| 国外成人在线播放| 国产精品igao网网址不卡| 伊人狠狠色丁香综合尤物| 欧美日韩一级片在线观看| 亚洲va综合va国产va中文| 蜜桃久久久久久久| 99久久夜色精品国产亚洲1000部| 26uuu另类亚洲欧美日本老年| 丰满少妇被猛烈进入一区二区| 欧美成人精品福利| 97精品免费视频| 色哟哟国产精品| 亚洲国产午夜伦理片大全在线观看网站| 97国产suv精品一区二区62| 成人动态视频| 国产又黄又粗又硬| 久久最新网址| 91国产在线播放| sqte在线播放| 国产一区二区亚洲| 国产日韩亚洲欧美在线| 香蕉视频网站在线播放| 国内性生活视频| 国产乱码字幕精品高清av| free性欧美69巨大| 一区二区三区精品视频| 久久婷婷国产91天堂综合精品| 欧美激情精品久久久久久免费印度| 欧美视频精品一区| 国产成人免费av| 午夜性色一区二区三区免费视频| 国产精品入口日韩视频大尺度| 久久99国内精品| 色欲狠狠躁天天躁无码中文字幕| 日本中文字幕电影在线观看| 激情欧美一区二区| 亚洲aaa在线观看| 精品国产一二三| 国产精品va在线播放我和闺蜜| 久久国产乱子伦免费精品| 欧美最近摘花xxxx摘花| 四虎成人永久免费视频| 国产精品色婷婷视频| 国产在线视频2019最新视频| 国产精品午夜影院| 可以直接看的av网址站| 日韩中文字幕免费视频| 日韩欧美国产三级| 亚洲高清av在线| aaaaa级片| 国产又粗又大又爽视频| 欧美绝品在线观看成人午夜影视| 91黄色小视频| 国产精品无码久久av| 国产精品中文字幕日韩精品| 91精品国产九九九久久久亚洲| 国产1区2区在线观看| 欧美天天视频| 综合网五月天| 欧美在线网址| 小早川怜子一区二区的演员表| eeuss草民免费| 久久国产精品久久久久|