目標
使用合成語音來按照畫面文字播放語音
處理步驟
步驟 1.
設定合成語音 API 物件,並取得畫面文字為語音內容
1 | msg.text = document.querySelector('[name="text"]').value; |
步驟 2.
合成語音的下拉選單填充,並設定選單變更事件
- 先填充選單內容
1 | // 填充下拉選單 |
- 選單變更事件
1 | // 設定語音 |
步驟 3.
設定播放速度、文字與聲道
1 | // 設定播放速度、文字、聲道 |
步驟 4.
設定播放與停止按鍵功能
1 | // 播放與停止 |
筆記與備註事項
JavaScript 部分
SpeechSynthesisUtterance
The SpeechSynthesisUtterance interface of the Web Speech API represents a speech request. It contains the content the speech service should read and information about how to read it (e.g. language, pitch and volume.)
資料來源 - MDN
Web Speech API 中的 SpeechSynthesis 語音合成服務
SpeechSynthesis
The SpeechSynthesis interface of the Web Speech API is the controller interface for the speech service; this can be used to retrieve information about the synthesis voices available on the device, start and pause speech, and other commands besides.
資料來源 - MDN
語音 API 的服務介面;以下是此次範例使用的屬性說明
- pitch 聲道
- text 播放內容文字
- rate 說話速度
參考資料
- JavaScript 30 day
- 作者 Github Wes Bos
- Js 30 day 中文指南
- 瓜瓜的 JS 30
- 我的 JS 30 練習Github