目標
語音識別 API 操作,透過 SpeechRecognition 來進行語音辨識,並呈現文字
處理步驟
步驟 1.
- 啟動語音
1 | window.SpeechRecognition = window.SpeechRecognition || window.webkitSpeechRecognition; |
- 宣告變數為語音辨識
1 | const recognition = new SpeechRecognition(); |
- 建立 p tag ,等下將辨識文字顯示在上
- 啟用識別
recognition.start();
- 當識別結束,重複識別
1 | recognition.addEventListener("end", recognition.start); |
參考資料
SpeechRecognition()
interimResults
SpeechRecognition event start
SpeechRecognition event end
步驟 2.
產生識別結果後,將文字呈現在 p tag 內容中,識別結果為 SpeechRecognitionResultList 取得 transcript 屬性,就是辨識文字
當確認辨識結束,建立新的 p tag 元素
1 | recognition.addEventListener("result", e => { |
步驟 3.
當辨識文字出現特定文字的時候,可以使用 replace 取代呈現。
1 | // 特殊內容使用符號文字取代 |
筆記與備註事項
JavaScript 部分
SpeechRecognition()
實驗性功能,所以是尚未確定所有瀏覽器支援的功能。
SpeechRecognition.interimResults
此屬性為布林值,控制是否取得即時辨識結果,預設為 false
SpeechRecognition.start()
啟動語音識別服務
SpeechRecognition Events 觸發事件
以下為 Web Speech API 事件
result
語音辨識結束返回結果的時候觸發。
1 | recognition.onresult = function(event) { |
end
語音辨識服務結束時觸發。
1 | var recognition = new SpeechRecognition(); |
參考資料
- JavaScript 30 day
- 作者 Github Wes Bos
- Js 30 day 中文指南
- 瓜瓜的 JS 30
- 我的 JS 30 練習Github