要做什麼事
要做的事,是通過瀏覽器相關 API ,在頁面上實時獲取麥克風的音頻數據,並把這些信息傳遞到服務端。
簡單來想,要解決這些問題:
- 瀏覽器的麥克風相關的 API 怎麼使用。
- 瀏覽器獲取到的數據是什麼樣的。
- 瀏覽器獲取的音頻數據如何編碼到通常的“音頻文件”。
瀏覽器 Stream API
如果直接搜索 “瀏覽器 audio” 相關的內容,一方面是講 audio 標籤的,另一個方面會講到 AudioContext ,其實這些都算是瀏覽器的多媒體能力的一部分,並且在編程 API 層面,它們也是統一的。
audio 標籤,是“音頻”媒體的可選的一個輸入端,及輸出端。 AudioContext 整體處理風格,是管道式的,比如:
source = getAudioTag();
dest = getAnotherTag();
source.connect