SpeechSynthesisUtterance: mark イベント

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2018.

markウェブ音声 APISpeechSynthesisUtterance オブジェクトのイベントで、発話が SSML の名前付き "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 インスタンスを返します。

mark イベントを addEventListener メソッドで使用することができます。

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}`);
};

仕様書

Specification
Web Speech API
# eventdef-speechsynthesisutterance-mark
Web Speech API
# dom-speechsynthesisutterance-onmark

ブラウザーの互換性

BCD tables only load in the browser

関連情報