[JS30] Day20: Native Speech Recognition
tags: AI
, contenteditable
, note style
, 語音辨識
這裡是使用內建在 Chrome 瀏覽器裡面的語音辨識 API,它存在 Chrome 瀏覽器的全域環境 window.webkitSpeechRecognition
,如果是使用其他瀏覽器可能要注意一下兼容性和使用方法。
contenteditable 屬性(HTML 部分)
這裡的 HTML 多了一個叫做 contenteditable
的屬性,這個屬性可以設成 true/false
告訴瀏覽器這個區塊是不是使用者可以編輯的,在 Chrome 只要加上這個屬性之後,原本的 div
就會變成像 input
區塊一樣,使用者可以在裡面隨意編輯,非常有趣:
<div class="words" contenteditable="true"></div>
在原本的教學影片中,只在
<div>
裡面加上contenteditable
這個屬性,而沒有指定true/false
,這點在 MDN contenteditable 的說明中指出,因為 contenteditable 是可列舉的屬性,因此建議還是要給它值。
語音辨識 API - speechRecognition(JS 部分)
初始化 API
初始化語音辨識 API:
let recognition = new webkitSpeechRecognition();