com.google.gwt.dom.client

## Class MediaElement

- java.lang.Object
- - com.google.gwt.core.client.JavaScriptObject
  - - com.google.gwt.dom.client.Node
    - - com.google.gwt.dom.client.Element
      - - com.google.gwt.dom.client.MediaElement

- Direct Known Subclasses:
    AudioElement, VideoElement

      public class MediaElement
      extends Element

  Common superclass for Audio and Video elements. See W3C HTML5 Video and Audio

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `CAN_PLAY_MAYBE` Constant returned from `canPlayType(String)`.
    `static java.lang.String` | `CAN_PLAY_PROBABLY` Constant returned from `canPlayType(String)`.
    `static java.lang.String` | `CANNOT_PLAY` Constant returned from `canPlayType(String)`.
    `static int` | `HAVE_CURRENT_DATA` Constant returned from `getReadyState()`.
    `static int` | `HAVE_ENOUGH_DATA` Constant returned from `getReadyState()`.
    `static int` | `HAVE_FUTURE_DATA` Constant returned from `getReadyState()`.
    `static int` | `HAVE_METADATA` Constant returned from `getReadyState()`.
    `static int` | `HAVE_NOTHING` Constant returned from `getReadyState()`.
    `static int` | `NETWORK_EMPTY` Constant returned from `getNetworkState()`.
    `static int` | `NETWORK_IDLE` Constant returned from `getNetworkState()`.
    `static int` | `NETWORK_LOADING` Constant returned from `getNetworkState()`.
    `static int` | `NETWORK_NO_SOURCE` Constant returned from `getNetworkState()`.
    `static java.lang.String` | `PRELOAD_AUTO` Constant used by `getPreload()` and `setPreload(String)`.
    `static java.lang.String` | `PRELOAD_METADATA` Constant used by `getPreload()` and `setPreload(String)`.
    `static java.lang.String` | `PRELOAD_NONE` Constant used by `getPreload()` and `setPreload(String)`.

    - ### Fields inherited from class com.google.gwt.dom.client.Element

      `DRAGGABLE_AUTO, DRAGGABLE_FALSE, DRAGGABLE_TRUE`

    - ### Fields inherited from class com.google.gwt.dom.client.Node

      `DOCUMENT_NODE, ELEMENT_NODE, TEXT_NODE`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `MediaElement()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `canPlayType(java.lang.String type)` Returns `true` if the native player is capable of playing content of the given MIME type.
    `TimeRanges` | `getBuffered()` Returns a `TimeRanges` object indicating which portions of the source have been buffered locally.
    `java.lang.String` | `getCurrentSrc()` Returns the URL of the current media source, or the empty String if no source is set.
    `double` | `getCurrentTime()` Returns the current time within the source media stream.
    `double` | `getDefaultPlaybackRate()` Returns the default playback rate, where 1.0 corresponds to normal playback.
    `double` | `getDuration()` Returns the duration of the source media stream, in seconds.
    `MediaError` | `getError()` Returns the type of error that has occurred while attempting to load and play the media.
    `double` | `getInitialTime()` Returns the time to which the media stream was seeked at the time it was loaded, in seconds, or 0.0 if the position is unknown.
    `int` | `getNetworkState()` Returns the network state, one of `NETWORK_EMPTY`, `NETWORK_IDLE`, `NETWORK_LOADING`, or `NETWORK_NO_SOURCE`.
    `double` | `getPlaybackRate()` Returns the playback rate, where 1.0 corresponds to normal playback.
    `TimeRanges` | `getPlayed()` Returns a `TimeRanges` object indicating which portions of the source have been played.
    `java.lang.String` | `getPreload()` Returns the preload setting, one of `PRELOAD_AUTO`, `PRELOAD_METADATA`, or `PRELOAD_NONE`.
    `int` | `getReadyState()` Returns the current state of the media with respect to rendering the current playback position, as one of the constants `HAVE_CURRENT_DATA`, `HAVE_ENOUGH_DATA`, `HAVE_FUTURE_DATA`, `HAVE_METADATA`, or `HAVE_NOTHING` .
    `TimeRanges` | `getSeekable()` Returns a `TimeRanges` object indicating which portions of the source are seekable.
    `java.lang.String` | `getSrc()` Returns the source URL for the media, or `null` if none is set.
    `double` | `getStartOffsetTime()` Returns the time corresponding to the zero time in the media timeline, measured in seconds since midnight, January 1 1970 UTC, or `Double.NaN` if none is specified.
    `double` | `getVolume()` Returns the current audio volume setting for the media, as a number between 0.0 and 1.0.
    `boolean` | `hasControls()` Returns `true` if the media player should display interactive controls (for example, to control play/pause, seek position, and volume), `false` otherwise.
    `boolean` | `hasEnded()` Returns `true` if playback has reached the end of the media, `false` otherwise.
    `boolean` | `isAutoplay()` Returns `true` if autoplay is enabled, `false` otherwise.
    `boolean` | `isLoop()` Returns `true` if the user agent is to seek back to the start of the media once playing has ended, `false` otherwise.
    `boolean` | `isMuted()` Returns `true` if the volume is to be muted (overriding the normal volume setting), `false` otherwise.
    `boolean` | `isPaused()` Returns `true` if playback is paused, `false` otherwise.
    `boolean` | `isSeeking()` Returns `true` if the playback position is in the process of changing discontinuously, e.g., by use of the interactive controls, `false` otherwise.
    `void` | `load()` Causes the resource to be loaded.
    `void` | `pause()` Causes playback of the resource to be paused.
    `void` | `play()` Causes playback of the resource to be started or resumed.
    `void` | `setAutoplay(boolean autoplay)` Enables or disables autoplay of the resource.
    `void` | `setControls(boolean controls)` Enables or disables interactive controls.
    `void` | `setCurrentTime(double time)` Sets the current playback time within the media stream, in seconds.
    `void` | `setDefaultPlaybackRate(double rate)` Sets the default playback rate.
    `void` | `setLoop(boolean loop)` Enables or disables looping.
    `void` | `setMuted(boolean muted)` Enables or disables muting.
    `void` | `setPlaybackRate(double rate)` Sets the playback rate.
    `void` | `setPreload(java.lang.String preload)` Changes the preload setting to one of `PRELOAD_AUTO`, `PRELOAD_METADATA`, or `PRELOAD_NONE`.
    `void` | `setSrc(java.lang.String url)` Sets the source URL for the media.
    `void` | `setVolume(double volume)` Sets the playback volume.

    - ### Methods inherited from class com.google.gwt.dom.client.Element

      `addClassName, as, as, blur, dispatchEvent, focus, getAbsoluteBottom, getAbsoluteLeft, getAbsoluteRight, getAbsoluteTop, getAttribute, getClassName, getClientHeight, getClientWidth, getDir, getDraggable, getElementsByTagName, getFirstChildElement, getId, getInnerHTML, getInnerText, getLang, getNextSiblingElement, getOffsetHeight, getOffsetLeft, getOffsetParent, getOffsetTop, getOffsetWidth, getPreviousSiblingElement, getPropertyBoolean, getPropertyDouble, getPropertyInt, getPropertyJSO, getPropertyObject, getPropertyString, getScrollHeight, getScrollLeft, getScrollTop, getScrollWidth, getString, getStyle, getTabIndex, getTagName, getTitle, hasAttribute, hasClassName, hasTagName, indexOfName, is, is, removeAttribute, removeClassName, replaceClassName, scrollIntoView, setAttribute, setClassName, setDir, setDraggable, setId, setInnerHTML, setInnerSafeHtml, setInnerText, setLang, setPropertyBoolean, setPropertyDouble, setPropertyInt, setPropertyJSO, setPropertyObject, setPropertyString, setScrollLeft, setScrollTop, setTabIndex, setTitle, toggleClassName`

    - ### Methods inherited from class com.google.gwt.dom.client.Node

      `appendChild, cloneNode, getChild, getChildCount, getChildNodes, getFirstChild, getLastChild, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentElement, getParentNode, getPreviousSibling, hasChildNodes, hasParentElement, insertAfter, insertBefore, insertFirst, isOrHasChild, removeAllChildren, removeChild, removeFromParent, replaceChild, setNodeValue`

    - ### Methods inherited from class com.google.gwt.core.client.JavaScriptObject

      `cast, createArray, createArray, createFunction, createObject, equals, hashCode, toSource, toString`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### CAN_PLAY_PROBABLY

          public static final java.lang.String CAN_PLAY_PROBABLY

      Constant returned from `canPlayType(String)`.
      See Also:
        Constant Field Values

    - #### CAN_PLAY_MAYBE

          public static final java.lang.String CAN_PLAY_MAYBE

      Constant returned from `canPlayType(String)`.
      See Also:
        Constant Field Values

    - #### CANNOT_PLAY

          public static final java.lang.String CANNOT_PLAY

      Constant returned from `canPlayType(String)`.
      See Also:
        Constant Field Values

    - #### HAVE_NOTHING

          public static final int HAVE_NOTHING

      Constant returned from `getReadyState()`.
      See Also:
        Constant Field Values

    - #### HAVE_METADATA

          public static final int HAVE_METADATA

      Constant returned from `getReadyState()`.
      See Also:
        Constant Field Values

    - #### HAVE_CURRENT_DATA

          public static final int HAVE_CURRENT_DATA

      Constant returned from `getReadyState()`.
      See Also:
        Constant Field Values

    - #### HAVE_FUTURE_DATA

          public static final int HAVE_FUTURE_DATA

      Constant returned from `getReadyState()`.
      See Also:
        Constant Field Values

    - #### HAVE_ENOUGH_DATA

          public static final int HAVE_ENOUGH_DATA

      Constant returned from `getReadyState()`.
      See Also:
        Constant Field Values

    - #### NETWORK_EMPTY

          public static final int NETWORK_EMPTY

      Constant returned from `getNetworkState()`.
      See Also:
        Constant Field Values

    - #### NETWORK_IDLE

          public static final int NETWORK_IDLE

      Constant returned from `getNetworkState()`.
      See Also:
        Constant Field Values

    - #### NETWORK_LOADING

          public static final int NETWORK_LOADING

      Constant returned from `getNetworkState()`.
      See Also:
        Constant Field Values

    - #### NETWORK_NO_SOURCE

          public static final int NETWORK_NO_SOURCE

      Constant returned from `getNetworkState()`.
      See Also:
        Constant Field Values

    - #### PRELOAD_AUTO

          public static final java.lang.String PRELOAD_AUTO

      Constant used by `getPreload()` and `setPreload(String)`.
      See Also:
        Constant Field Values

    - #### PRELOAD_METADATA

          public static final java.lang.String PRELOAD_METADATA

      Constant used by `getPreload()` and `setPreload(String)`.
      See Also:
        Constant Field Values

    - #### PRELOAD_NONE

          public static final java.lang.String PRELOAD_NONE

      Constant used by `getPreload()` and `setPreload(String)`.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### MediaElement

          protected MediaElement()

  - ### Method Detail

    - #### canPlayType

          public final java.lang.String canPlayType(java.lang.String type)

      Returns `true` if the native player is capable of playing content of the given MIME type.
      Parameters:
        `type` - a String representing a MIME type
      Returns:
        one of `CAN_PLAY_PROBABLY`, `CAN_PLAY_MAYBE`, or `CANNOT_PLAY`

    - #### getBuffered

          public final TimeRanges getBuffered()

      Returns a `TimeRanges` object indicating which portions of the source have been buffered locally.
      Returns:
        a `TimeRanges` instance, or `null`.

    - #### getCurrentSrc

          public final java.lang.String getCurrentSrc()

      Returns the URL of the current media source, or the empty String if no source is set.
      Returns:
        a String URL

    - #### getCurrentTime

          public final double getCurrentTime()

      Returns the current time within the source media stream.
      Returns:
        the time, in seconds, as a double
      See Also:
        `setCurrentTime(double)`

    - #### getDefaultPlaybackRate

          public final double getDefaultPlaybackRate()

      Returns the default playback rate, where 1.0 corresponds to normal playback. If no rate has been set, 1.0 is returned.
      Returns:
        the current default playback rate, or 1.0 if it has not been set
      See Also:
        `setDefaultPlaybackRate(double)`

    - #### getDuration

          public final double getDuration()

      Returns the duration of the source media stream, in seconds. If the duration is unknown, `Double.NaN` is returned. For unbounded media streams, `Double.POSITIVE_INFINITY` is returned.
      Returns:
        a positive duration in seconds, NaN, or Infinity

    - #### getError

          public final MediaError getError()

      Returns the type of error that has occurred while attempting to load and play the media. If no error has occurred, `null` is returned.
      Returns:
        a `MediaError` instance, or `null`

    - #### getInitialTime

          public final double getInitialTime()

      Returns the time to which the media stream was seeked at the time it was loaded, in seconds, or 0.0 if the position is unknown.
      Returns:
        the initial time, or 0.0 if unknown

    - #### getNetworkState

          public final int getNetworkState()

      Returns the network state, one of `NETWORK_EMPTY`, `NETWORK_IDLE`, `NETWORK_LOADING`, or `NETWORK_NO_SOURCE`.
      Returns:
        an integer constant indicating the network state
      See Also:
        `NETWORK_EMPTY`, `NETWORK_IDLE`, `NETWORK_LOADING`, `NETWORK_NO_SOURCE`

    - #### getPlaybackRate

          public final double getPlaybackRate()

      Returns the playback rate, where 1.0 corresponds to normal playback. If the rate has not been set, 1.0 is returned.
      Returns:
        the playback rate, if known, otherwise 1.0
      See Also:
        `setPlaybackRate(double)`

    - #### getPlayed

          public final TimeRanges getPlayed()

      Returns a `TimeRanges` object indicating which portions of the source have been played.
      Returns:
        a `TimeRanges` instance, or `null`.

    - #### getPreload

          public final java.lang.String getPreload()

      Returns the preload setting, one of `PRELOAD_AUTO`, `PRELOAD_METADATA`, or `PRELOAD_NONE`.
      Returns:
        the preload setting
      See Also:
        `setPreload(String)`, `PRELOAD_AUTO`, `PRELOAD_METADATA`, `PRELOAD_NONE`

    - #### getReadyState

          public final int getReadyState()

      Returns the current state of the media with respect to rendering the current playback position, as one of the constants `HAVE_CURRENT_DATA`, `HAVE_ENOUGH_DATA`, `HAVE_FUTURE_DATA`, `HAVE_METADATA`, or `HAVE_NOTHING` .
      Returns:
        an integer constant indicating the ready state
      See Also:
        `HAVE_CURRENT_DATA`, `HAVE_ENOUGH_DATA`, `HAVE_FUTURE_DATA`, `HAVE_METADATA`, `HAVE_NOTHING`

    - #### getSeekable

          public final TimeRanges getSeekable()

      Returns a `TimeRanges` object indicating which portions of the source are seekable.
      Returns:
        a `TimeRanges` instance, or `null`.

    - #### getSrc

          public final java.lang.String getSrc()

      Returns the source URL for the media, or `null` if none is set.
      Returns:
        a String URL or `null`
      See Also:
        `setSrc(String)`

    - #### getStartOffsetTime

          public final double getStartOffsetTime()

      Returns the time corresponding to the zero time in the media timeline, measured in seconds since midnight, January 1 1970 UTC, or `Double.NaN` if none is specified.
      Returns:
        the start time

    - #### getVolume

          public final double getVolume()

      Returns the current audio volume setting for the media, as a number between 0.0 and 1.0.
      Returns:
        a number between 0.0 (silent) and 1.0 (loudest)
      See Also:
        `setVolume(double)`

    - #### hasControls

          public final boolean hasControls()

      Returns `true` if the media player should display interactive controls (for example, to control play/pause, seek position, and volume), `false` otherwise.
      Returns:
        whether controls should be displayed
      See Also:
        `setControls(boolean)`

    - #### hasEnded

          public final boolean hasEnded()

      Returns `true` if playback has reached the end of the media, `false` otherwise.
      Returns:
        whether playback has ended

    - #### isAutoplay

          public final boolean isAutoplay()

      Returns `true` if autoplay is enabled, `false` otherwise. When autoplay is enabled, the user agent will begin playback automatically as soon as it can do so without stopping.
      Returns:
        the autoplay setting
      See Also:
        `setAutoplay(boolean)`

    - #### isLoop

          public final boolean isLoop()

      Returns `true` if the user agent is to seek back to the start of the media once playing has ended, `false` otherwise.
      Returns:
        the loop setting
      See Also:
        `setLoop(boolean)`

    - #### isMuted

          public final boolean isMuted()

      Returns `true` if the volume is to be muted (overriding the normal volume setting), `false` otherwise.
      Returns:
        the muting setting
      See Also:
        `setMuted(boolean)`, `getVolume()`, `setVolume(double)`

    - #### isPaused

          public final boolean isPaused()

      Returns `true` if playback is paused, `false` otherwise.
      Returns:
        the paused setting
      See Also:
        `pause()`, `play()`

    - #### isSeeking

          public final boolean isSeeking()

      Returns `true` if the playback position is in the process of changing discontinuously, e.g., by use of the interactive controls, `false` otherwise.
      Returns:
        the seeking status
      See Also:
        `setControls(boolean)`, `hasControls()`

    - #### load

          public final void load()

      Causes the resource to be loaded.

    - #### pause

          public final void pause()

      Causes playback of the resource to be paused.

    - #### play

          public final void play()

      Causes playback of the resource to be started or resumed.

    - #### setAutoplay

          public final void setAutoplay(boolean autoplay)

      Enables or disables autoplay of the resource.
      Parameters:
        `autoplay` - if `true`, enable autoplay
      See Also:
        `isAutoplay()`

    - #### setControls

          public final void setControls(boolean controls)

      Enables or disables interactive controls.
      Parameters:
        `controls` - if `true`, enable controls
      See Also:
        `hasControls()`

    - #### setCurrentTime

          public final void setCurrentTime(double time)

      Sets the current playback time within the media stream, in seconds.
      Parameters:
        `time` - a number within the ranges given by `getSeekable()`
      See Also:
        `getCurrentTime()`

    - #### setDefaultPlaybackRate

          public final void setDefaultPlaybackRate(double rate)

      Sets the default playback rate.
      Parameters:
        `rate` - a double value
      See Also:
        `getDefaultPlaybackRate()`

    - #### setLoop

          public final void setLoop(boolean loop)

      Enables or disables looping.
      Parameters:
        `loop` - if `true`, enable looping
      See Also:
        `isLoop()`

    - #### setMuted

          public final void setMuted(boolean muted)

      Enables or disables muting.
      Parameters:
        `muted` - if `true`, enable muting
      See Also:
        `isMuted()`

    - #### setPlaybackRate

          public final void setPlaybackRate(double rate)

      Sets the playback rate.
      Parameters:
        `rate` - a double value
      See Also:
        `getPlaybackRate()`

    - #### setPreload

          public final void setPreload(java.lang.String preload)

      Changes the preload setting to one of `PRELOAD_AUTO`, `PRELOAD_METADATA`, or `PRELOAD_NONE`.
      Parameters:
        `preload` - a String constants
      See Also:
        `getPreload()`, `setPreload(String)`, `PRELOAD_AUTO`, `PRELOAD_METADATA`, `PRELOAD_NONE`

    - #### setSrc

          public final void setSrc(java.lang.String url)

      Sets the source URL for the media.
      Parameters:
        `url` - a String URL
      See Also:
        `getSrc()`

    - #### setVolume

          public final void setVolume(double volume)

      Sets the playback volume.
      Parameters:
        `volume` - a value between 0.0 (silent) and 1.0 (loudest)
      See Also:
        `getVolume()`