GWT 2.7.0

com.google.gwt.media.client
Class MediaBase

java.lang.Object
  extended by com.google.gwt.user.client.ui.UIObject
      extended by com.google.gwt.user.client.ui.Widget
          extended by com.google.gwt.user.client.ui.FocusWidget
              extended by com.google.gwt.media.client.MediaBase
All Implemented Interfaces:
HasAllDragAndDropHandlers, HasAllFocusHandlers, HasAllGestureHandlers, HasAllKeyHandlers, HasAllMediaHandlers, HasAllMouseHandlers, HasAllTouchHandlers, HasBlurHandlers, HasCanPlayThroughHandlers, HasClickHandlers, HasDoubleClickHandlers, HasDragEndHandlers, HasDragEnterHandlers, HasDragHandlers, HasDragLeaveHandlers, HasDragOverHandlers, HasDragStartHandlers, HasDropHandlers, HasEndedHandlers, HasFocusHandlers, HasGestureChangeHandlers, HasGestureEndHandlers, HasGestureStartHandlers, HasKeyDownHandlers, HasKeyPressHandlers, HasKeyUpHandlers, HasLoadedMetadataHandlers, HasMouseDownHandlers, HasMouseMoveHandlers, HasMouseOutHandlers, HasMouseOverHandlers, HasMouseUpHandlers, HasMouseWheelHandlers, HasProgressHandlers, HasTouchCancelHandlers, HasTouchEndHandlers, HasTouchMoveHandlers, HasTouchStartHandlers, HasAttachHandlers, HasHandlers, EventListener, Focusable, HasEnabled, HasFocus, HasVisibility, IsWidget, SourcesClickEvents, SourcesFocusEvents, SourcesKeyboardEvents, SourcesMouseEvents
Direct Known Subclasses:
Audio, Video

public abstract class MediaBase
extends FocusWidget
implements HasAllMediaHandlers

A widget representing a media element.

Experimental API: This API is still under development and is subject to change.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.google.gwt.user.client.ui.UIObject
UIObject.DebugIdImpl, UIObject.DebugIdImplEnabled
 
Field Summary
 
Fields inherited from class com.google.gwt.user.client.ui.UIObject
DEBUG_ID_PREFIX
 
Constructor Summary
protected MediaBase(MediaElement element)
          Protected constructor.
 
Method Summary
 HandlerRegistration addCanPlayThroughHandler(CanPlayThroughHandler handler)
          Adds a CanPlayThroughEvent handler.
 HandlerRegistration addEndedHandler(EndedHandler handler)
          Adds a EndedEvent handler.
 HandlerRegistration addLoadedMetadataHandler(LoadedMetadataHandler handler)
          Adds a LoadedMetadataEvent handler.
 HandlerRegistration addProgressHandler(ProgressHandler handler)
          Adds a ProgressEvent handler.
 SourceElement addSource(java.lang.String url)
          Add a source element to this media.
 SourceElement addSource(java.lang.String url, java.lang.String type)
          Add a source element to this media, specifying the type (format) of the media.
 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.
 MediaElement getMediaElement()
          Returns the attached Media Element.
 int getNetworkState()
          Returns the network state, one of MediaElement.NETWORK_EMPTY, MediaElement.NETWORK_IDLE, MediaElement.NETWORK_LOADING, or MediaElement.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 MediaElement.PRELOAD_AUTO, MediaElement.PRELOAD_METADATA, or MediaElement.PRELOAD_NONE.
 int getReadyState()
          Returns the current state of the media with respect to rendering the current playback position, as one of the constants MediaElement.HAVE_CURRENT_DATA, MediaElement.HAVE_ENOUGH_DATA, MediaElement.HAVE_FUTURE_DATA, MediaElement.HAVE_METADATA, or MediaElement.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 removeSource(SourceElement source)
          Remove the specified SourceElement from this media.
 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 MediaElement.PRELOAD_AUTO, MediaElement.PRELOAD_METADATA, or MediaElement.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.user.client.ui.FocusWidget
addBlurHandler, addClickHandler, addClickListener, addDoubleClickHandler, addDragEndHandler, addDragEnterHandler, addDragHandler, addDragLeaveHandler, addDragOverHandler, addDragStartHandler, addDropHandler, addFocusHandler, addFocusListener, addGestureChangeHandler, addGestureEndHandler, addGestureStartHandler, addKeyboardListener, addKeyDownHandler, addKeyPressHandler, addKeyUpHandler, addMouseDownHandler, addMouseListener, addMouseMoveHandler, addMouseOutHandler, addMouseOverHandler, addMouseUpHandler, addMouseWheelHandler, addMouseWheelListener, addTouchCancelHandler, addTouchEndHandler, addTouchMoveHandler, addTouchStartHandler, getFocusImpl, getTabIndex, isEnabled, onAttach, removeClickListener, removeFocusListener, removeKeyboardListener, removeMouseListener, removeMouseWheelListener, setAccessKey, setEnabled, setFocus, setTabIndex
 
Methods inherited from class com.google.gwt.user.client.ui.Widget
addAttachHandler, addBitlessDomHandler, addDomHandler, addHandler, asWidget, asWidgetOrNull, createHandlerManager, delegateEvent, doAttachChildren, doDetachChildren, fireEvent, getHandlerCount, getLayoutData, getParent, isAttached, isOrWasAttached, onBrowserEvent, onDetach, onLoad, onUnload, removeFromParent, setLayoutData, sinkEvents, unsinkEvents
 
Methods inherited from class com.google.gwt.user.client.ui.UIObject
addStyleDependentName, addStyleName, ensureDebugId, ensureDebugId, ensureDebugId, getAbsoluteLeft, getAbsoluteTop, getElement, getOffsetHeight, getOffsetWidth, getStyleElement, getStyleName, getStyleName, getStylePrimaryName, getStylePrimaryName, getTitle, isVisible, isVisible, onEnsureDebugId, removeStyleDependentName, removeStyleName, resolvePotentialElement, setElement, setElement, setHeight, setPixelSize, setSize, setStyleDependentName, setStyleName, setStyleName, setStyleName, setStyleName, setStylePrimaryName, setStylePrimaryName, setTitle, setVisible, setVisible, setWidth, sinkBitlessEvent, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.google.gwt.event.shared.HasHandlers
fireEvent
 

Constructor Detail

MediaBase

protected MediaBase(MediaElement element)
Protected constructor.

Method Detail

addCanPlayThroughHandler

public HandlerRegistration addCanPlayThroughHandler(CanPlayThroughHandler handler)
Description copied from interface: HasCanPlayThroughHandlers
Adds a CanPlayThroughEvent handler.

Specified by:
addCanPlayThroughHandler in interface HasCanPlayThroughHandlers
Parameters:
handler - the media CanPlayThrough handler
Returns:
HandlerRegistration used to remove this handler

addEndedHandler

public HandlerRegistration addEndedHandler(EndedHandler handler)
Description copied from interface: HasEndedHandlers
Adds a EndedEvent handler.

Specified by:
addEndedHandler in interface HasEndedHandlers
Parameters:
handler - the media ended handler
Returns:
HandlerRegistration used to remove this handler

addProgressHandler

public HandlerRegistration addProgressHandler(ProgressHandler handler)
Description copied from interface: HasProgressHandlers
Adds a ProgressEvent handler.

Specified by:
addProgressHandler in interface HasProgressHandlers
Parameters:
handler - the media progress handler
Returns:
HandlerRegistration used to remove this handler

addLoadedMetadataHandler

public HandlerRegistration addLoadedMetadataHandler(LoadedMetadataHandler handler)
Description copied from interface: HasLoadedMetadataHandlers
Adds a LoadedMetadataEvent handler.

Specified by:
addLoadedMetadataHandler in interface HasLoadedMetadataHandlers
Parameters:
handler - the media loadedmetadata handler
Returns:
HandlerRegistration used to remove this handler

addSource

public SourceElement addSource(java.lang.String url)
Add a source element to this media. The browser will request source files from the server until it finds one it can play.

Only use this method if you do not know the type of the source file, as the browser cannot determine the format from the filename and must download each source until a compatible one is found. Instead, you should specify the type for the media using addSource(String, String) so the browser can choose a source file without downloading the file.

Parameters:
url - a String URL
See Also:
addSource(String, String)

addSource

public SourceElement addSource(java.lang.String url,
                               java.lang.String type)
Add a source element to this media, specifying the type (format) of the media. The browser will choose a supported source file and download it.

The type is the format or encoding of the media represented by the source element. For example, the type of an AudioElement could be one of "audio/ogg", AudioElement.TYPE_MP3, or AudioElement.TYPE_WAV.

You can also add the codec information to the type, giving the browser even more information about whether or not it can play the file (Example: " audio/ogg; codec=vorbis");

Parameters:
url - a String URL
type - the type (format) of the media
See Also:
getSrc()

canPlayType

public 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 MediaElement.CAN_PLAY_PROBABLY, MediaElement.CAN_PLAY_MAYBE, or MediaElement.CANNOT_PLAY

getBuffered

public TimeRanges getBuffered()
Returns a TimeRanges object indicating which portions of the source have been buffered locally.

Returns:
a TimeRanges instance, or null.

getCurrentSrc

public 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 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 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 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 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 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

getMediaElement

public MediaElement getMediaElement()
Returns the attached Media Element.

Returns:
the Media Element

getNetworkState

public int getNetworkState()
Returns the network state, one of MediaElement.NETWORK_EMPTY, MediaElement.NETWORK_IDLE, MediaElement.NETWORK_LOADING, or MediaElement.NETWORK_NO_SOURCE.

Returns:
an integer constant indicating the network state
See Also:
MediaElement.NETWORK_EMPTY, MediaElement.NETWORK_IDLE, MediaElement.NETWORK_LOADING, MediaElement.NETWORK_NO_SOURCE

getPlaybackRate

public 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 TimeRanges getPlayed()
Returns a TimeRanges object indicating which portions of the source have been played.

Returns:
a TimeRanges instance, or null.

getPreload

public java.lang.String getPreload()
Returns the preload setting, one of MediaElement.PRELOAD_AUTO, MediaElement.PRELOAD_METADATA, or MediaElement.PRELOAD_NONE.

Returns:
the preload setting
See Also:
setPreload(String), MediaElement.PRELOAD_AUTO, MediaElement.PRELOAD_METADATA, MediaElement.PRELOAD_NONE

getReadyState

public int getReadyState()
Returns the current state of the media with respect to rendering the current playback position, as one of the constants MediaElement.HAVE_CURRENT_DATA, MediaElement.HAVE_ENOUGH_DATA, MediaElement.HAVE_FUTURE_DATA, MediaElement.HAVE_METADATA, or MediaElement.HAVE_NOTHING .

Returns:
an integer constant indicating the ready state
See Also:
MediaElement.HAVE_CURRENT_DATA, MediaElement.HAVE_ENOUGH_DATA, MediaElement.HAVE_FUTURE_DATA, MediaElement.HAVE_METADATA, MediaElement.HAVE_NOTHING

getSeekable

public TimeRanges getSeekable()
Returns a TimeRanges object indicating which portions of the source are seekable.

Returns:
a TimeRanges instance, or null.

getSrc

public 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 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 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 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 boolean hasEnded()
Returns true if playback has reached the end of the media, false otherwise.

Returns:
whether playback has ended

isAutoplay

public 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 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 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 boolean isPaused()
Returns true if playback is paused, false otherwise.

Returns:
the paused setting
See Also:
pause(), play()

isSeeking

public 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 void load()
Causes the resource to be loaded.


pause

public void pause()
Causes playback of the resource to be paused.


play

public void play()
Causes playback of the resource to be started or resumed.


removeSource

public void removeSource(SourceElement source)
Remove the specified SourceElement from this media. If the source element is not a child of this widget, it will not be removed.

Parameters:
source - the source element to remove
See Also:
addSource(String, String)

setAutoplay

public void setAutoplay(boolean autoplay)
Enables or disables autoplay of the resource.

Parameters:
autoplay - if true, enable autoplay
See Also:
isAutoplay()

setControls

public void setControls(boolean controls)
Enables or disables interactive controls.

Parameters:
controls - if true, enable controls
See Also:
hasControls()

setCurrentTime

public 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 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 void setMuted(boolean muted)
Enables or disables muting.

Parameters:
muted - if true, enable muting
See Also:
isMuted()

setPlaybackRate

public void setPlaybackRate(double rate)
Sets the playback rate.

Parameters:
rate - a double value
See Also:
getPlaybackRate()

setPreload

public void setPreload(java.lang.String preload)
Changes the preload setting to one of MediaElement.PRELOAD_AUTO, MediaElement.PRELOAD_METADATA, or MediaElement.PRELOAD_NONE.

Parameters:
preload - a String constants
See Also:
getPreload(), setPreload(String), MediaElement.PRELOAD_AUTO, MediaElement.PRELOAD_METADATA, MediaElement.PRELOAD_NONE

setSrc

public void setSrc(java.lang.String url)
Sets the source URL for the media.

Support for different media types varies between browsers. Instead of using this method, you should encode your media in multiple formats and add all of them using addSource(String, String) so the browser can choose a source that it supports.

Parameters:
url - a String URL
See Also:
getSrc(), addSource(String, String)

setVolume

public void setVolume(double volume)
Sets the playback volume.

Parameters:
volume - a value between 0.0 (silent) and 1.0 (loudest)
See Also:
getVolume()

GWT 2.7.0