SpeechSynthesisEvent

Baseline 已廣泛支援

此功能已成熟,並可在多種裝置和瀏覽器版本上使用。自 2018 年 9 月以來,它已在各種瀏覽器中推出。

Web Speech API 的 SpeechSynthesisEvent 介面包含有關語音服務中已處理的 SpeechSynthesisUtterance 物件當前狀態的資訊。

Event SpeechSynthesisEvent

建構函式

SpeechSynthesisEvent()

建立一個新的 SpeechSynthesisEvent

例項屬性

SpeechSynthesisEvent 介面還繼承了其父介面 Event 的屬性。

SpeechSynthesisEvent.charIndex 只讀

返回事件觸發時,在 SpeechSynthesisUtterance.text 中正在朗讀的字元的索引位置。

SpeechSynthesisEvent.charLength 只讀

如果語音引擎支援,則返回 charIndex 位置之後剩餘要朗讀的字元數。如果語音引擎無法提供此資訊,則返回 0。

SpeechSynthesisEvent.elapsedTime 只讀

返回事件觸發時,在 SpeechSynthesisUtterance.text 開始朗讀後經過的秒數。

SpeechSynthesisEvent.name 只讀

返回與 SpeechSynthesisUtterance.text 正在朗讀時發生的某些型別事件相關的名稱:對於 mark 事件,是遇到的 SSML 標記的名稱;對於 boundary 事件,是遇到的邊界的型別。

SpeechSynthesisEvent.utterance 只讀

返回觸發事件的 SpeechSynthesisUtterance 例項。

例項方法

SpeechSynthesisEvent 介面還繼承了其父介面 Event 的方法。

示例

js
utterThis.onpause = (event) => {
  const char = event.utterance.text.charAt(event.charIndex);
  console.log(
    `Speech paused at character ${event.charIndex} of "${event.utterance.text}", which is "${char}".`,
  );
};

utterThis.onboundary = (event) => {
  console.log(
    `${event.name} boundary reached after ${event.elapsedTime} seconds.`,
  );
};

規範

規範
Web Speech API
# speechsynthesisevent

瀏覽器相容性

另見