SpeechSynthesisUtterance: mark 事件

Baseline 已廣泛支援

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

當口述語音達到 SSML 中的命名“mark”標籤時,會觸發 Web Speech API SpeechSynthesisUtterance 物件的 mark 事件。

語法

在諸如 addEventListener() 之類的方法中使用事件名稱,或設定事件處理程式屬性。

js
addEventListener("mark", (event) => { })

onmark = (event) => { }

事件型別

一個 SpeechSynthesisEvent。繼承自 Event

Event SpeechSynthesisEvent

事件屬性

除了下面列出的屬性之外,父介面 Event 的屬性也可使用。

charIndex 只讀

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

elapsedTime 只讀

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

name 只讀

SpeechSynthesisUtterance.text 被朗讀時,為特定型別的事件返回關聯的名稱:對於 mark 事件,它是到達的 SSML 標記的名稱;對於 boundary 事件,它是到達的邊界型別。

utterance 只讀

返回觸發事件的 SpeechSynthesisUtterance 例項。

示例

您可以在 addEventListener 方法中使用 mark 事件

js
utterThis.addEventListener("mark", (event) => {
  console.log(`A mark was reached: ${event.name}`);
});

或者使用 onmark 事件處理程式屬性

js
utterThis.onmark = (event) => {
  console.log(`A mark was reached: ${event.name}`);
};

規範

規範
Web Speech API
# eventdef-speechsynthesisutterance-mark
Web Speech API
# dom-speechsynthesisutterance-onmark

瀏覽器相容性

另見