Class WAbstractMedia
public abstract class WAbstractMedia extends WInteractWidget
This class is an abstract base class for HTML5 media elements (<audio>, <video>).
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
WAbstractMedia.Options
Enumeration for playback options.static class
WAbstractMedia.PreloadMode
Enumeration for preload strategy.static class
WAbstractMedia.ReadyState
The HTML5 media ReadyState flag indicates how much of the media is loaded.Nested classes/interfaces inherited from class eu.webtoolkit.jwt.WObject
WObject.FormData
-
Field Summary
Fields inherited from class eu.webtoolkit.jwt.WInteractWidget
dragTouchEndSlot_, dragTouchSlot_
-
Constructor Summary
Constructors Constructor Description WAbstractMedia()
Consctructor for a media widget.WAbstractMedia(WContainerWidget parent)
Consctructor for a media widget. -
Method Summary
Modifier and Type Method Description void
addSource(WLink link)
Add a media source.void
addSource(WLink link, java.lang.String type)
Add a media source.void
addSource(WLink link, java.lang.String type, java.lang.String media)
Add a media source.void
clearSources()
Removes all source elements.protected DomElement
createDomElement(WApplication app)
Create DOM element for widget.protected void
enableAjax()
Progresses to an Ajax-enabled widget.EventSignal
ended()
Event signal emitted when the playback stopped because the end of the media was reached.protected void
getDomChanges(java.util.List<DomElement> result, WApplication app)
Get DOM changes for this widget.java.lang.String
getJsMediaRef()
Returns the JavaScript reference to the media object, or null.java.util.EnumSet<WAbstractMedia.Options>
getOptions()
Retrieve the configured options.WAbstractMedia.PreloadMode
getPreloadMode()
Retrieve the preload mode.WAbstractMedia.ReadyState
getReadyState()
Returns the media's readyState.boolean
isPlaying()
Returns whether the media is playing.void
pause()
Invokepause()
on the media element.void
play()
Invokeplay()
on the media element.EventSignal
playbackPaused()
Event signal emitted when the playback has paused.EventSignal
playbackStarted()
Event signal emitted when playback has begun.void
remove()
Destructor.void
setAlternativeContent(WWidget alternative)
Content to be shown when media cannot be played.protected void
setFormData(WObject.FormData formData)
void
setOptions(WAbstractMedia.Options flag, WAbstractMedia.Options... flags)
Set the media element options.void
setOptions(java.util.EnumSet<WAbstractMedia.Options> flags)
Set the media element options.void
setPreloadMode(WAbstractMedia.PreloadMode mode)
Set the preload mode.EventSignal
timeUpdated()
Event signal emitted when the current playback position has changed.EventSignal
volumeChanged()
Event signal emitted when the playback volume has changed.Methods inherited from class eu.webtoolkit.jwt.WInteractWidget
clicked, doubleClicked, enterPressed, escapePressed, gestureChanged, gestureEnded, gestureStarted, getMouseOverDelay, isEnabled, keyPressed, keyWentDown, keyWentUp, load, mouseDragged, mouseMoved, mouseWentDown, mouseWentOut, mouseWentOver, mouseWentUp, mouseWheel, propagateSetEnabled, setDraggable, setDraggable, setDraggable, setDraggable, setMouseOverDelay, setPopup, touchEnded, touchMoved, touchStarted, unsetDraggable
Methods inherited from class eu.webtoolkit.jwt.WWebWidget
addStyleClass, blurred, callJavaScriptMember, childrenChanged, doJavaScript, escapeText, escapeText, escapeText, escapeText, find, findById, focussed, getAttributeValue, getBaseZIndex, getChildren, getClearSides, getDecorationStyle, getFloatSide, getHeight, getHtmlTagName, getId, getJavaScriptMember, getLineHeight, getMargin, getMaximumHeight, getMaximumWidth, getMinimumHeight, getMinimumWidth, getOffset, getPositionScheme, getScrollVisibilityMargin, getStyleClass, getTabIndex, getToolTip, getVerticalAlignment, getVerticalAlignmentLength, getWidth, hasFocus, hasStyleClass, isCanReceiveFocus, isDisabled, isHidden, isHiddenKeepsGeometry, isInline, isLoaded, isPopup, isRendered, isScrollVisibilityEnabled, isScrollVisible, isSetFirstFocus, isThemeStyleEnabled, isVisible, jsStringLiteral, jsStringLiteral, parentResized, parentResized, propagateSetVisible, refresh, removeScript, removeStyleClass, render, resize, scrollVisibilityChanged, setAttributeValue, setBaseZIndex, setCanReceiveFocus, setClearSides, setDecorationStyle, setDeferredToolTip, setDisabled, setFloatSide, setFocus, setHidden, setHiddenKeepsGeometry, setHtmlTagName, setId, setInline, setJavaScriptMember, setLineHeight, setLoadLaterWhenInvisible, setMargin, setMaximumSize, setMinimumSize, setOffsets, setPositionScheme, setScrollVisibilityEnabled, setScrollVisibilityMargin, setSelectable, setStyleClass, setTabIndex, setThemeStyleEnabled, setToolTip, setVerticalAlignment, updateSignalConnection, voidEventSignal
Methods inherited from class eu.webtoolkit.jwt.WWidget
acceptDrops, acceptDrops, addCssRule, addCssRule, addJSignal, addStyleClass, animateHide, animateShow, boxBorder, boxPadding, createJavaScript, disable, dropEvent, enable, getDropTouch, getJsRef, getParent, hide, htmlText, isExposed, isLayoutSizeAware, layoutSizeChanged, needsRerender, positionAt, positionAt, removeChild, removeStyleClass, render, resize, scheduleRender, scheduleRender, scheduleRender, setClearSides, setDeferredToolTip, setFocus, setHeight, setHidden, setLayoutSizeAware, setMargin, setMargin, setMargin, setMargin, setMargin, setObjectName, setOffsets, setOffsets, setOffsets, setOffsets, setOffsets, setToolTip, setVerticalAlignment, setWidth, show, stopAcceptDrops, toggleStyleClass, toggleStyleClass, tr
Methods inherited from class eu.webtoolkit.jwt.WObject
addChild, getObjectName
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
WAbstractMedia
Consctructor for a media widget.A freshly constructed media widget has no options set, no media sources, and has preload mode set to PreloadAuto.
-
WAbstractMedia
public WAbstractMedia()Consctructor for a media widget.
-
-
Method Details
-
remove
public void remove()Description copied from class:WWidget
Destructor.Deletes a widget and all children (recursively). If the widget is contained in another widget, it is removed first.
- Overrides:
remove
in classWInteractWidget
- See Also:
WContainerWidget.removeWidget(WWidget widget)
-
setOptions
Set the media element options.- See Also:
WAbstractMedia.Options
-
setOptions
Set the media element options. -
getOptions
Retrieve the configured options. -
setPreloadMode
Set the preload mode. -
getPreloadMode
Retrieve the preload mode. -
clearSources
public void clearSources()Removes all source elements.This method can be used to remove all media sources. Afterward, you may add new media sources with calls to
addSource()
.Use this to reuse a
WAbstractMedia
instantiation to play something else. -
addSource
Add a media source.This method specifies a media source (which may be a URL or dynamic resource). You may add as many media sources as you want. The browser will select the appropriate media stream to display to the user.
This method specifies a media source using the URL, the mime type, and the media attribute. HTML allows for empty type and media attributes.
-
addSource
Add a media source.Calls
addSource(link, "", "")
-
addSource
Add a media source. -
setAlternativeContent
Content to be shown when media cannot be played.As not all browsers are HTML5 compliant, it is a good idea to provide fallback options when the media cannot be displayed. If the media can be played by the browser, the alternative content will be suppressed.
The two reasons to display the alternative content are (1) the media tag is not supported, or (2) the media tag is supported, but none of the media sources are supported by the browser. In the first case, fall-back is automatic and does not rely on JavaScript in the browser; in the latter case, JavaScript is required to make the fallback work.
The alternative content can be any widget: you can set it to an alternative media player (QuickTime, Flash, ...), show a Flash movie, an animated gif, a text, a poster image, ...
-
play
public void play()Invokeplay()
on the media element.JavaScript must be available for this function to work.
-
pause
public void pause()Invokepause()
on the media element.JavaScript must be available for this function to work.
-
isPlaying
public boolean isPlaying()Returns whether the media is playing. -
getReadyState
Returns the media's readyState. -
playbackStarted
Event signal emitted when playback has begun.This event fires when play was invoked, or when the media element starts playing because the Autoplay option was provided.
Note: When JavaScript is disabled, the signal will never fire.
-
playbackPaused
Event signal emitted when the playback has paused.Note: When JavaScript is disabled, the signal will never fire.
-
ended
Event signal emitted when the playback stopped because the end of the media was reached.Note: When JavaScript is disabled, the signal will never fire.
-
timeUpdated
Event signal emitted when the current playback position has changed.This event is fired when the playback position has changed, both when the media is in a normal playing mode, but also when it has changed discontinuously because of another reason.
Note: When JavaScript is disabled, the signal will never fire.
-
volumeChanged
Event signal emitted when the playback volume has changed.Note: When JavaScript is disabled, the signal will never fire.
-
getJsMediaRef
public java.lang.String getJsMediaRef()Returns the JavaScript reference to the media object, or null.It is possible, for browser compatibility reasons, that
WWidget.getJsRef()
is not the media element.getJsMediaRef()
is guaranteed to be an expression that evaluates to the media object. This expression may yield null, if the video object is not rendered at all (e.g. on older versions of Internet Explorer). -
getDomChanges
Description copied from class:WWebWidget
Get DOM changes for this widget.This is an internal function, and should not be called directly, or be overridden!
- Overrides:
getDomChanges
in classWWebWidget
-
createDomElement
Description copied from class:WWebWidget
Create DOM element for widget.This is an internal function, and should not be called directly, or be overridden!
- Overrides:
createDomElement
in classWWebWidget
-
setFormData
- Overrides:
setFormData
in classWObject
-
enableAjax
protected void enableAjax()Description copied from class:WWidget
Progresses to an Ajax-enabled widget.This method is called when the progressive bootstrap method is used, and support for AJAX has been detected. The default behavior will upgrade the widget's event handling to use AJAX instead of full page reloads, and propagate the call to its children.
You may want to reimplement this method if you want to make changes to widget when AJAX is enabled. You should always call the base implementation.
- Overrides:
enableAjax
in classWWebWidget
- See Also:
WApplication.enableAjax()
-