TextTrack.mode - Web APIs 编辑

The TextTrack interface's mode property is a string specifying and controlling the text track's mode: disabled, hidden, or showing. You can read this value to determine the current mode, and you can change this value to switch modes.

Safari additionally requires the default boolean attribute to be set to true when implementing your own video player controls in order for the subtitles cues to be shown.

Syntax

var mode = textTrack.mode;

textTrack.mode = "disabled" | "hidden" | "showing";

Value

A DOMString which indicates the track's current mode. The text track mode is one of the values listed below, under Text track mode constants.

Text track mode constants

The text track mode—sometimes identified using the IDL enum TextTrackMode—must be one of the following values:

disabled
The text track is currently disabled. While the track's presence is exposed in the DOM, the user agent is otherwise ignoring it. No cues are active, no events are being fired, and the user agent won't attempt to obtain the track's cues. This is the default value, unless the text track has the default Boolean attribute is specified, in which case the default is showing.
hidden
The text track is currently active but the cues aren't being displayed. If the user agent hasn't tried to obtain the track's cues yet, it will do so soon (thereby populating the track's TextTrack.cues property). The user agent is keeping a list of the active cues (in the track's activeCues property) and events are being fired at the corresponding times, even though the text isn't being displayed.
showing
The text track is currently enabled and is visible. If the track's cues list hasn't been obtained yet, it will be soon. The activeCues list is being maintained and events are firing at the appropriate times; the track's text is also being drawn appropriately based on the styling and the track's kind. This is the default value if the text track's default Boolean attribute is specified.

Usage notes

The default mode is disabled, unless the default Boolean attribute is specified, in which case the default mode is showing. When a text track is loaded in the disabled state, the corresponding WebVTT file is not loaded until the state changes to either showing or hidden. This way, the resource fetch and memory usage are avoided unless the cues are actually needed.

However, that means that if you wish to perform any actions involving the track's cues while handling, for example, the load event—in order to process some aspect of the cues upon page load—and the track mode was initially disabled, you'll have to change the mode to either hidden or showing in order to trigger loading of the cues.

When the mode is showing, text tracks are performed. The exact appearance and manner of that performance varies depending on each text track's kind. In general:

  • Tracks whose kind is "subtitles" or "captions" are rendered with the cues overlaid over the top of the video.
  • Tracks whose kind is "descriptions" are presented in a non-visual form (for example, the text might be spoken to describe the action in the video).
  • Tracks whose kind is "chapters" are used by the user agent or the Web site or Web app to construct and present an interface for navigating the named chapters, where each cue in the list represents a chapter in the media. The user can then navigate to the desired chapter, which begins at the cue's start position and ends at the cue's end position.

Example

In this example, we configure the text track's cues so that every time a cue is finished, the video automatically pauses playback. This is done by setting the pauseOnExit property on each cue to true. However, to ensure that the track's cues are available, we first set mode to showing.

window.addEventListener("load", event => {
  let trackElem = document.querySelector("track");
  let track = trackElem.track;

  track.mode = "showing";

  for (let index=0; index < track.cues.length; index++) {
    let cue = track.cues[index];
    cue.pauseOnExit = true;
  };
});

Specifications

SpecificationStatusComment
HTML Living Standard
The definition of 'mode' in that specification.
Living Standard

Browser compatibility

BCD tables only load in the browser

See also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:110 次

字数:8590

最后编辑:7年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文