Class Video


@Bean(typeName="video") public class Video extends HtmlElementMixed
DTO for an HTML <video> element.

The video element is used to embed video content in an HTML document. It provides a way to include video files that can be played by the browser's built-in video player. The video element supports multiple video formats and provides various attributes for controlling playback, appearance, and behavior. It can contain source elements to specify multiple video formats for browser compatibility.

Examples:

import static org.apache.juneau.bean.html5.HtmlBuilder.*; // Simple video with controls Video simple = video() .src("movie.mp4") .controls(true) .width(640) .height(360); // Video with multiple sources Video multiple = video( source().src("movie.mp4").type("video/mp4"), source().src("movie.webm").type("video/webm"), source().src("movie.ogg").type("video/ogg") ).controls(true); // Autoplay video (muted for browser compatibility) Video autoplay = video() .src("intro.mp4") .autoplay(true) .muted(true) .loop(true); // Video with poster image Video poster = video() .src("trailer.mp4") .poster("trailer-poster.jpg") .controls(true) .width(800) .height(450); // Video with custom styling Video styled = video() .src("presentation.mp4") .controls(true) ._class("video-player") .style("border: 2px solid #ccc; border-radius: 8px;"); // Video with event handlers Video interactive = new Video() .src("tutorial.mp4") .controls(true) .onplay("trackVideoPlay()") .onended("showNextVideo()");

The following convenience methods are provided for constructing instances of this bean:

See Also:
  • Constructor Details

  • Method Details

    • autoplay

      public Video autoplay(Object value)
      autoplay attribute.

      Hint that the media resource can be started automatically when the page is loaded.

      This attribute uses deminimized values:

      • false - Attribute is not added
      • true - Attribute is added as "autoplay"
      • Other values - Passed through as-is
      Parameters:
      autoplay - The new value for this attribute. Typically a Boolean or String.
      Returns:
      This object.
    • controls

      public Video controls(Object value)
      controls attribute.

      Show user agent controls.

      This attribute uses deminimized values:

      • false - Attribute is not added
      • true - Attribute is added as "controls"
      • Other values - Passed through as-is
      Parameters:
      controls - The new value for this attribute. Typically a Boolean or String.
      Returns:
      This object.
    • crossorigin

      public Video crossorigin(String value)
      crossorigin attribute.

      Specifies how the element handles cross-origin requests for CORS (Cross-Origin Resource Sharing).

      Possible values:

      • "anonymous" - Cross-origin requests are made without credentials
      • "use-credentials" - Cross-origin requests include credentials
      Parameters:
      crossorigin - How to handle cross-origin requests.
      Returns:
      This object.
    • height

      public Video height(Object value)
      height attribute.

      Vertical dimension.

      Parameters:
      height - The new value for this attribute. Typically a Number or String.
      Returns:
      This object.
    • loop

      public Video loop(Object value)
      loop attribute.

      Causes the media to automatically restart from the beginning when it reaches the end.

      Parameters:
      loop - If true, the media will loop continuously.
      Returns:
      This object.
    • mediagroup

      public Video mediagroup(String value)
      mediagroup attribute.

      Groups multiple media elements together so they can be controlled as a single unit. All media elements with the same mediagroup value will share the same MediaController, allowing synchronized playback.

      This is useful for creating synchronized audio/video presentations or multiple camera angles.

      Parameters:
      mediagroup - The name of the media group to join.
      Returns:
      This object.
    • muted

      public Video muted(Object value)
      muted attribute.

      Mutes the audio output by default. Useful for autoplay videos where audio should be disabled initially.

      Parameters:
      muted - If true, the media will be muted by default.
      Returns:
      This object.
    • poster

      public Video poster(String value)
      poster attribute.

      Specifies an image to display as a placeholder before the video starts playing. This image is shown while the video is loading or before the user clicks play.

      The poster image should be representative of the video content and help users understand what the video contains.

      Parameters:
      poster - The URL of the poster image to display before video playback.
      Returns:
      This object.
    • preload

      public Video preload(String value)
      preload attribute.

      Specifies how the browser should load the media resource.

      Possible values:

      • "none" - Do not preload the media
      • "metadata" - Preload only metadata (duration, dimensions, etc.)
      • "auto" - Preload the entire media file (default)
      Parameters:
      preload - How much of the media to preload.
      Returns:
      This object.
    • src

      public Video src(Object value)
      src attribute.

      Address of the resource.

      The value can be of any of the following types: URI, URL, String. Strings must be valid URIs.

      URIs defined by UriResolver can be used for values.

      Parameters:
      src - The new value for this attribute. Typically a URL or String.
      Returns:
      This object.
    • width

      public Video width(Object value)
      width attribute.

      Horizontal dimension.

      Parameters:
      width - The new value for this attribute. Typically a Number or String.
      Returns:
      This object.
    • _class

      public Video _class(String value)
      Description copied from class: HtmlElement
      class attribute.

      Specifies one or more CSS class names for the element, separated by spaces. These classes can be used for styling and JavaScript selection.

      Overrides:
      _class in class HtmlElementMixed
      Returns:
      This object.
    • accesskey

      public Video accesskey(String value)
      Description copied from class: HtmlElement
      accesskey attribute.

      Defines a keyboard shortcut to activate or focus an element. The value should be a single character that, when pressed with a modifier key (usually Alt), activates the element.

      Overrides:
      accesskey in class HtmlElementMixed
      Returns:
      This object.
    • contenteditable

      public Video contenteditable(Object value)
      Description copied from class: HtmlElement
      contenteditable attribute.

      Indicates whether the element's content is editable by the user.

      Possible values:

      • "true" or empty string - Element content is editable
      • "false" - Element content is not editable
      • "plaintext-only" - Element content is editable, but rich text formatting is disabled
      Overrides:
      contenteditable in class HtmlElementMixed
      Returns:
      This object.
    • dir

      public Video dir(String value)
      Description copied from class: HtmlElement
      dir attribute.

      Specifies the text direction of the element's content.

      Possible values:

      • "ltr" - Left-to-right text direction
      • "rtl" - Right-to-left text direction
      • "auto" - Browser determines direction based on content
      Overrides:
      dir in class HtmlElementMixed
      Returns:
      This object.
    • hidden

      public Video hidden(Object value)
      Description copied from class: HtmlElement
      hidden attribute.

      This attribute uses deminimized values:

      • false - Attribute is not added
      • true - Attribute is added as "hidden"
      • Other values - Passed through as-is
      Overrides:
      hidden in class HtmlElementMixed
      Returns:
      This object.
    • id

      public Video id(String value)
      Description copied from class: HtmlElement
      id attribute.

      Specifies a unique identifier for the element. The ID must be unique within the document and can be used for CSS styling, JavaScript selection, and anchor links.

      Overrides:
      id in class HtmlElementMixed
      Returns:
      This object.
    • lang

      public Video lang(String value)
      Description copied from class: HtmlElement
      lang attribute.

      Specifies the primary language of the element's content using a language tag. This helps with accessibility, search engines, and browser features like spell checking.

      Overrides:
      lang in class HtmlElementMixed
      Returns:
      This object.
    • onabort

      public Video onabort(String value)
      Description copied from class: HtmlElement
      onabort attribute.

      Event handler for when an operation is aborted (e.g., image loading is cancelled).

      Overrides:
      onabort in class HtmlElementMixed
      Returns:
      This object.
    • onblur

      public Video onblur(String value)
      Description copied from class: HtmlElement
      onblur attribute.

      Event handler for when the element loses focus.

      Note:

      If your HTML serializer is configured to use single quotes for attribute values, you should use double quotes in your JavaScript code, and vice versa. Otherwise, the quotes will be converted to HTML entities. For example:

      • If using single quotes for attributes: onblur("validate(\"email\")")
      • If using double quotes for attributes: onblur("validate('email')")
      Overrides:
      onblur in class HtmlElementMixed
      Returns:
      This object.
    • oncancel

      public Video oncancel(String value)
      Description copied from class: HtmlElement
      oncancel attribute.

      Event handler for when a dialog is cancelled.

      Overrides:
      oncancel in class HtmlElementMixed
      Returns:
      This object.
    • oncanplay

      public Video oncanplay(String value)
      Description copied from class: HtmlElement
      oncanplay attribute.

      Event handler for when the media can start playing (enough data has been buffered).

      Overrides:
      oncanplay in class HtmlElementMixed
      Returns:
      This object.
    • oncanplaythrough

      public Video oncanplaythrough(String value)
      Description copied from class: HtmlElement
      oncanplaythrough attribute.

      Event handler for when the media can play through to the end without buffering.

      Overrides:
      oncanplaythrough in class HtmlElementMixed
      Returns:
      This object.
    • onchange

      public Video onchange(String value)
      Description copied from class: HtmlElement
      onchange attribute.

      Event handler for when the value of a form element changes and loses focus.

      Note:

      If your HTML serializer is configured to use single quotes for attribute values, you should use double quotes in your JavaScript code, and vice versa. Otherwise, the quotes will be converted to HTML entities. For example:

      • If using single quotes for attributes: onchange("validate(\"field\")")
      • If using double quotes for attributes: onchange("validate('field')")
      Overrides:
      onchange in class HtmlElementMixed
      Returns:
      This object.
    • onclick

      public Video onclick(String value)
      Description copied from class: HtmlElement
      onclick attribute.

      Event handler for when the element is clicked.

      Note:

      If your HTML serializer is configured to use single quotes for attribute values, you should use double quotes in your JavaScript code, and vice versa. Otherwise, the quotes will be converted to HTML entities. For example:

      • If using single quotes for attributes: onclick("alert(\"Hello\")")
      • If using double quotes for attributes: onclick("alert('Hello')")
      Overrides:
      onclick in class HtmlElementMixed
      Returns:
      This object.
    • oncuechange

      public Video oncuechange(String value)
      Description copied from class: HtmlElement
      oncuechange attribute.

      Event handler for when a text track cue changes.

      Overrides:
      oncuechange in class HtmlElementMixed
      Returns:
      This object.
    • ondblclick

      public Video ondblclick(String value)
      Description copied from class: HtmlElement
      ondblclick attribute.

      Event handler for when the element is double-clicked.

      Overrides:
      ondblclick in class HtmlElementMixed
      Returns:
      This object.
    • ondurationchange

      public Video ondurationchange(String value)
      Description copied from class: HtmlElement
      ondurationchange attribute.

      Event handler for when the duration of the media changes.

      Overrides:
      ondurationchange in class HtmlElementMixed
      Returns:
      This object.
    • onemptied

      public Video onemptied(String value)
      Description copied from class: HtmlElement
      onemptied attribute.

      Event handler for when the media element becomes empty (e.g., network error).

      Overrides:
      onemptied in class HtmlElementMixed
      Returns:
      This object.
    • onended

      public Video onended(String value)
      Description copied from class: HtmlElement
      onended attribute.

      Event handler for when the media playback reaches the end.

      Overrides:
      onended in class HtmlElementMixed
      Returns:
      This object.
    • onerror

      public Video onerror(String value)
      Description copied from class: HtmlElement
      onerror attribute.

      Event handler for when an error occurs (e.g., failed resource loading).

      Overrides:
      onerror in class HtmlElementMixed
      Returns:
      This object.
    • onfocus

      public Video onfocus(String value)
      Description copied from class: HtmlElement
      onfocus attribute.

      Event handler for when the element receives focus.

      Note:

      If your HTML serializer is configured to use single quotes for attribute values, you should use double quotes in your JavaScript code, and vice versa. Otherwise, the quotes will be converted to HTML entities. For example:

      • If using single quotes for attributes: onfocus("highlight(\"field\")")
      • If using double quotes for attributes: onfocus("highlight('field')")
      Overrides:
      onfocus in class HtmlElementMixed
      Returns:
      This object.
    • oninput

      public Video oninput(String value)
      Description copied from class: HtmlElement
      oninput attribute.

      Event handler for when the value of an input element changes (fires on every keystroke).

      Overrides:
      oninput in class HtmlElementMixed
      Returns:
      This object.
    • oninvalid

      public Video oninvalid(String value)
      Description copied from class: HtmlElement
      oninvalid attribute.

      Event handler for when form validation fails.

      Overrides:
      oninvalid in class HtmlElementMixed
      Returns:
      This object.
    • onkeydown

      public Video onkeydown(String value)
      Description copied from class: HtmlElement
      onkeydown attribute.

      Event handler for when a key is pressed down.

      Overrides:
      onkeydown in class HtmlElementMixed
      Returns:
      This object.
    • onkeypress

      public Video onkeypress(String value)
      Description copied from class: HtmlElement
      onkeypress attribute.

      Event handler for when a key is pressed (deprecated, use onkeydown instead).

      Overrides:
      onkeypress in class HtmlElementMixed
      Returns:
      This object.
    • onkeyup

      public Video onkeyup(String value)
      Description copied from class: HtmlElement
      onkeyup attribute.

      Event handler for when a key is released.

      Overrides:
      onkeyup in class HtmlElementMixed
      Returns:
      This object.
    • onload

      public Video onload(String value)
      Description copied from class: HtmlElement
      onload attribute.

      Event handler for when the element and its resources have finished loading.

      Note:

      If your HTML serializer is configured to use single quotes for attribute values, you should use double quotes in your JavaScript code, and vice versa. Otherwise, the quotes will be converted to HTML entities. For example:

      • If using single quotes for attributes: onload("init(\"config\")")
      • If using double quotes for attributes: onload("init('config')")
      Overrides:
      onload in class HtmlElementMixed
      Returns:
      This object.
    • onloadeddata

      public Video onloadeddata(String value)
      Description copied from class: HtmlElement
      onloadeddata attribute.

      Event handler for when the first frame of media has finished loading.

      Overrides:
      onloadeddata in class HtmlElementMixed
      Returns:
      This object.
    • onloadedmetadata

      public Video onloadedmetadata(String value)
      Description copied from class: HtmlElement
      onloadedmetadata attribute.

      Event handler for when metadata (duration, dimensions, etc.) has been loaded.

      Overrides:
      onloadedmetadata in class HtmlElementMixed
      Returns:
      This object.
    • onloadstart

      public Video onloadstart(String value)
      Description copied from class: HtmlElement
      onloadstart attribute.

      Event handler for when the browser starts loading the media.

      Overrides:
      onloadstart in class HtmlElementMixed
      Returns:
      This object.
    • onmousedown

      public Video onmousedown(String value)
      Description copied from class: HtmlElement
      onmousedown attribute.

      Event handler for when a mouse button is pressed down on the element.

      Overrides:
      onmousedown in class HtmlElementMixed
      Returns:
      This object.
    • onmouseenter

      public Video onmouseenter(String value)
      Description copied from class: HtmlElement
      onmouseenter attribute.

      Event handler for when the mouse pointer enters the element (does not bubble).

      Overrides:
      onmouseenter in class HtmlElementMixed
      Returns:
      This object.
    • onmouseleave

      public Video onmouseleave(String value)
      Description copied from class: HtmlElement
      onmouseleave attribute.

      Event handler for when the mouse pointer leaves the element (does not bubble).

      Overrides:
      onmouseleave in class HtmlElementMixed
      Returns:
      This object.
    • onmousemove

      public Video onmousemove(String value)
      Description copied from class: HtmlElement
      onmousemove attribute.

      Event handler for when the mouse pointer moves over the element.

      Overrides:
      onmousemove in class HtmlElementMixed
      Returns:
      This object.
    • onmouseout

      public Video onmouseout(String value)
      Description copied from class: HtmlElement
      onmouseout attribute.

      Event handler for when the mouse pointer moves out of the element (bubbles).

      Overrides:
      onmouseout in class HtmlElementMixed
      Returns:
      This object.
    • onmouseover

      public Video onmouseover(String value)
      Description copied from class: HtmlElement
      onmouseover attribute.

      Event handler for when the mouse pointer moves over the element (bubbles).

      Note:

      If your HTML serializer is configured to use single quotes for attribute values, you should use double quotes in your JavaScript code, and vice versa. Otherwise, the quotes will be converted to HTML entities. For example:

      • If using single quotes for attributes: onmouseover("showTooltip(\"info\")")
      • If using double quotes for attributes: onmouseover("showTooltip('info')")
      Overrides:
      onmouseover in class HtmlElementMixed
      Returns:
      This object.
    • onmouseup

      public Video onmouseup(String value)
      Description copied from class: HtmlElement
      onmouseup attribute.

      Event handler for when a mouse button is released over the element.

      Overrides:
      onmouseup in class HtmlElementMixed
      Returns:
      This object.
    • onmousewheel

      public Video onmousewheel(String value)
      Description copied from class: HtmlElement
      onmousewheel attribute.

      Event handler for when the mouse wheel is rotated over the element (deprecated, use onwheel).

      Overrides:
      onmousewheel in class HtmlElementMixed
      Returns:
      This object.
    • onpause

      public Video onpause(String value)
      Description copied from class: HtmlElement
      onpause attribute.

      Event handler for when media playback is paused.

      Overrides:
      onpause in class HtmlElementMixed
      Returns:
      This object.
    • onplay

      public Video onplay(String value)
      Description copied from class: HtmlElement
      onplay attribute.

      Event handler for when media playback starts.

      Overrides:
      onplay in class HtmlElementMixed
      Returns:
      This object.
    • onplaying

      public Video onplaying(String value)
      Description copied from class: HtmlElement
      onplaying attribute.

      Event handler for when media playback starts after being paused or delayed.

      Overrides:
      onplaying in class HtmlElementMixed
      Returns:
      This object.
    • onprogress

      public Video onprogress(String value)
      Description copied from class: HtmlElement
      onprogress attribute.

      Event handler for when the browser is downloading media data.

      Overrides:
      onprogress in class HtmlElementMixed
      Returns:
      This object.
    • onratechange

      public Video onratechange(String value)
      Description copied from class: HtmlElement
      onratechange attribute.

      Event handler for when the playback rate of media changes.

      Overrides:
      onratechange in class HtmlElementMixed
      Returns:
      This object.
    • onreset

      public Video onreset(String value)
      Description copied from class: HtmlElement
      onreset attribute.

      Event handler for when a form is reset.

      Overrides:
      onreset in class HtmlElementMixed
      Returns:
      This object.
    • onresize

      public Video onresize(String value)
      Description copied from class: HtmlElement
      onresize attribute.

      Event handler for when the element is resized.

      Overrides:
      onresize in class HtmlElementMixed
      Returns:
      This object.
    • onscroll

      public Video onscroll(String value)
      Description copied from class: HtmlElement
      onscroll attribute.

      Event handler for when the element's scrollbar is scrolled.

      Overrides:
      onscroll in class HtmlElementMixed
      Returns:
      This object.
    • onseeked

      public Video onseeked(String value)
      Description copied from class: HtmlElement
      onseeked attribute.

      Event handler for when a seek operation completes.

      Overrides:
      onseeked in class HtmlElementMixed
      Returns:
      This object.
    • onseeking

      public Video onseeking(String value)
      Description copied from class: HtmlElement
      onseeking attribute.

      Event handler for when a seek operation begins.

      Overrides:
      onseeking in class HtmlElementMixed
      Returns:
      This object.
    • onselect

      public Video onselect(String value)
      Description copied from class: HtmlElement
      onselect attribute.

      Event handler for when text is selected in the element.

      Overrides:
      onselect in class HtmlElementMixed
      Returns:
      This object.
    • onshow

      public Video onshow(String value)
      Description copied from class: HtmlElement
      onshow attribute.

      Event handler for when a context menu is shown.

      Overrides:
      onshow in class HtmlElementMixed
      Returns:
      This object.
    • onstalled

      public Video onstalled(String value)
      Description copied from class: HtmlElement
      onstalled attribute.

      Event handler for when media loading is stalled.

      Overrides:
      onstalled in class HtmlElementMixed
      Returns:
      This object.
    • onsubmit

      public Video onsubmit(String value)
      Description copied from class: HtmlElement
      onsubmit attribute.

      Event handler for when a form is submitted.

      Note:

      If your HTML serializer is configured to use single quotes for attribute values, you should use double quotes in your JavaScript code, and vice versa. Otherwise, the quotes will be converted to HTML entities. For example:

      • If using single quotes for attributes: onsubmit("return validate(\"form\")")
      • If using double quotes for attributes: onsubmit("return validate('form')")
      Overrides:
      onsubmit in class HtmlElementMixed
      Returns:
      This object.
    • onsuspend

      public Video onsuspend(String value)
      Description copied from class: HtmlElement
      onsuspend attribute.

      Event handler for when media loading is suspended.

      Overrides:
      onsuspend in class HtmlElementMixed
      Returns:
      This object.
    • ontimeupdate

      public Video ontimeupdate(String value)
      Description copied from class: HtmlElement
      ontimeupdate attribute.

      Event handler for when the current playback position changes.

      Overrides:
      ontimeupdate in class HtmlElementMixed
      Returns:
      This object.
    • ontoggle

      public Video ontoggle(String value)
      Description copied from class: HtmlElement
      ontoggle attribute.

      Event handler for when a details element is opened or closed.

      Overrides:
      ontoggle in class HtmlElementMixed
      Returns:
      This object.
    • onvolumechange

      public Video onvolumechange(String value)
      Description copied from class: HtmlElement
      onvolumechange attribute.

      Event handler for when the volume of media changes.

      Overrides:
      onvolumechange in class HtmlElementMixed
      Returns:
      This object.
    • onwaiting

      public Video onwaiting(String value)
      Description copied from class: HtmlElement
      onwaiting attribute.

      Event handler for when media playback stops to buffer more data.

      Overrides:
      onwaiting in class HtmlElementMixed
      Returns:
      This object.
    • spellcheck

      public Video spellcheck(Object value)
      Description copied from class: HtmlElement
      spellcheck attribute.

      Indicates whether the element should have its spelling and grammar checked.

      Possible values:

      • "true" - Enable spell checking for this element
      • "false" - Disable spell checking for this element
      Overrides:
      spellcheck in class HtmlElementMixed
      Returns:
      This object.
    • style

      public Video style(String value)
      Description copied from class: HtmlElement
      style attribute.

      Specifies inline CSS styles for the element. The value should be valid CSS property-value pairs separated by semicolons.

      Overrides:
      style in class HtmlElementMixed
      Returns:
      This object.
    • tabindex

      public Video tabindex(Object value)
      Description copied from class: HtmlElement
      tabindex attribute.

      Specifies the tab order of the element when navigating with the keyboard.

      Possible values:

      • Positive integer - Element is focusable and participates in tab order
      • "0" - Element is focusable but not in tab order
      • Negative integer - Element is not focusable
      Overrides:
      tabindex in class HtmlElementMixed
      Returns:
      This object.
    • title

      public Video title(String value)
      Description copied from class: HtmlElement
      title attribute.

      Specifies additional information about the element, typically displayed as a tooltip when the user hovers over the element.

      Overrides:
      title in class HtmlElementMixed
      Returns:
      This object.
    • translate

      public Video translate(Object value)
      Description copied from class: HtmlElement
      translate attribute.

      Specifies whether the element's content should be translated when the page is localized.

      Possible values:

      • "yes" - Content should be translated (default)
      • "no" - Content should not be translated
      Overrides:
      translate in class HtmlElementMixed
      Returns:
      This object.
    • child

      public Video child(Object value)
      Description copied from class: HtmlElementMixed
      Adds a child element to this element.
      Overrides:
      child in class HtmlElementMixed
      Returns:
      This object.
    • children

      public Video children(Object... value)
      Description copied from class: HtmlElementMixed
      Adds one or more child elements to this element.
      Overrides:
      children in class HtmlElementMixed
      Returns:
      This object.