public class Video extends XulElement implements MediaElement
Only works for browsers supporting HTML5 video tag
Modifier and Type | Class and Description |
---|---|
protected class |
Video.ExtraCtrl
A utility class to implement
HtmlBasedComponent.getExtraCtrl() . |
AbstractComponent.Children
Modifier and Type | Field and Description |
---|---|
static int |
PAUSE
Represent the pause state
|
static int |
PLAY
Represent the play state
|
static int |
STOP
Represent the stop state
|
_zclass
APPLICATION_SCOPE, COMPONENT_SCOPE, DESKTOP_SCOPE, PAGE_SCOPE, REQUEST_SCOPE, SESSION_SCOPE, SPACE_SCOPE
AFTER_CHILD_ADDED, AFTER_CHILD_REMOVED, AFTER_PAGE_ATTACHED, AFTER_PAGE_DETACHED, CE_BUSY_IGNORE, CE_DUPLICATE_IGNORE, CE_IMPORTANT, CE_NON_DEFERRABLE, CE_REPEAT_IGNORE
Modifier and Type | Method and Description |
---|---|
void |
beforeChildAdded(Component child,
Component insertBefore)
Default: does nothing.
|
Video |
getContent()
Note: it won't fetch what is set thru by
setSrc(java.lang.String) . |
java.lang.String |
getCrossorigin()
Returns the crossorigin of this video tag, could be "anonymous", "use-credentials" or null.
|
java.lang.Object |
getExtraCtrl()
Returns the client control for this component.
|
double |
getPlaybackRate()
Returns the video play speed.
|
java.lang.String |
getPoster()
Returns the image source, if didn't set the image, return null.
|
java.lang.String |
getPreload()
Returns "none" or "metadata" or "auto" or null
Default: null.
|
java.util.List<java.lang.String> |
getSrc()
Returns the video source as List.
|
double |
getVolume()
Returns the volume of video.
|
boolean |
isAutoplay()
Returns whether to auto start playing the video.
|
boolean |
isClipToFit()
Return whether to clip video when the source size doesn't fit the tag size setting,
for example: if video source is 1280 * 720, but the video tag is
<video width="1000px" height="720px" /> ,
it will cut off the sides of the video, preserving the aspect ratio, and also filling in the space. |
boolean |
isControls()
Returns whether to display the video controls.
|
boolean |
isDimBackground()
Returns whether to turn whole page to be covered by translucent black except the Video, also called theater mode.
|
boolean |
isLoop()
Returns whether to play the video repeatedly.
|
boolean |
isMuted()
Returns whether the video is muted.
|
boolean |
isPaused()
Return whether the video is paused.
|
boolean |
isPlaying()
Return whether the video is playing.
|
boolean |
isPlaysinline()
Returns the playsinline of this video tag.
|
boolean |
isStopped()
Return whether the video is stopped.
|
void |
pause()
Pause the video at the client.
|
void |
play()
Play the video at the client.
|
protected void |
renderProperties(ContentRenderer renderer)
Renders the content of this component, excluding the enclosing
tags and children.
|
void |
service(AuRequest request,
boolean everError)
Processes an AU request.
|
void |
setAutoplay(boolean autoplay)
Sets whether to auto start playing the video.
|
void |
setClipToFit(boolean clipToFit)
Set whether to clip video when the source size doesn't fit the tag size setting,
for example: if video source is 1280 * 720, but the video tag is
<video width="1000px" height="720px" /> ,
it will cut off the sides of the video, preserving the aspect ratio, and also filling in the space. |
void |
setContent(Video content)
Calling this method implies setSrc(null).
|
void |
setControls(boolean controls)
Sets whether to display the video controls.
|
void |
setCrossorigin(java.lang.String crossorigin)
Could be "anonymous" or "use-credentials", an invalid string and an empty string will be handled as the "anonymous".
|
void |
setCurrentTime(double currentTime)
Sets which part of video to play.
|
void |
setDimBackground(boolean dimBackground)
Sets whether to turn whole page to be covered by translucent black except Video, also called theater mode.
|
void |
setLoop(boolean loop)
Sets whether to play the video repeatedly.
|
void |
setMuted(boolean muted)
Sets whether to mute the video.
|
void |
setPlaybackRate(double playbackRate)
Sets the video play speed, type of value is in double, valid value is depending on browser.
|
void |
setPlaying(boolean playing)
|
void |
setPlaysinline(boolean playsinline)
Sets the playsinline of this video tag.
|
void |
setPoster(java.lang.String poster)
Sets an image to be shown while the video is downloading, or until the user hits the play button.
|
void |
setPreload(java.lang.String preload)
Sets whether and how the video should be loaded, which could be one of "none", "metadata", "auto".
|
void |
setSrc(java.lang.String src)
Calling this method implies setContent(null).
|
void |
setSrcList(java.util.List<java.lang.String> src)
Sets the source list, be invoked by the
setSrc(String) . |
void |
setVolume(double volume)
Sets the volume of video.
|
void |
stop()
Stop the video at the client.
|
protected void |
updateByClient(java.lang.String name,
java.lang.Object value)
Called when the widget running at the client asks the server
to update a value.
|
clone, getContext, getCtrlKeys, getPopup, getPropertyAccess, getTooltip, setContext, setContext, setContextAttributes, setCtrlKeys, setPopup, setPopup, setPopupAttributes, setTooltip, setTooltip, setTooltipAttributes
addSclass, evalCSSFlex, focus, getAction, getDraggable, getDroppable, getHeight, getHflex, getLeft, getRenderdefer, getSclass, getStyle, getTabindex, getTabindexInteger, getTooltiptext, getTop, getVflex, getWidth, getZclass, getZindex, getZIndex, removeSclass, removeSclass, setAction, setClass, setDraggable, setDroppable, setFocus, setHeight, setHeight0, setHeightDirectly, setHflex, setHflex0, setHflexDirectly, setLeft, setLeftDirectly, setRenderdefer, setSclass, setStyle, setTabindex, setTabindex, setTooltiptext, setTop, setTopDirectly, setVflex, setVflex0, setVflexDirectly, setWidth, setWidth0, setWidthDirectly, setZclass, setZindex, setZIndex, setZIndexDirectly
addAnnotation, addAnnotation, addCallback, addClientEvent, addEventHandler, addEventListener, addEventListener, addForward, addForward, addForward, addForward, addMoved, addRedrawCallback, addScopeListener, addShadowRoot, addShadowRootBefore, addSharedEventHandlerMap, appendChild, applyProperties, beforeChildRemoved, beforeParentChanged, detach, didActivate, didActivate, didDeserialize, didDeserialize, disableBindingAnnotation, disableClientUpdate, enableBindingAnnotation, getAnnotatedProperties, getAnnotatedPropertiesBy, getAnnotation, getAnnotation, getAnnotations, getAnnotations, getAnnotations, getAttribute, getAttribute, getAttribute, getAttributeOrFellow, getAttributes, getAttributes, getAuService, getAutag, getCallback, getChildren, getClientAttribute, getClientDataAttribute, getClientEvents, getDefaultMold, getDefinition, getDesktop, getEventHandler, getEventHandlerNames, getEventListenerMap, getEventListeners, getFellow, getFellow, getFellowIfAny, getFellowIfAny, getFellows, getFirstChild, getId, getLastChild, getListenerIterator, getMold, getNextSibling, getPage, getParent, getPreviousSibling, getRedrawCallback, getRoot, getShadowFellowIfAny, getShadowRoots, getShadowVariable, getShadowVariable, getShadowVariable0, getSpaceOwner, getSpecialRendererOutput, getStubonly, getSubBindingAnnotationCount, getTemplate, getTemplateNames, getUuid, getWidgetAttribute, getWidgetAttributeNames, getWidgetClass, getWidgetListener, getWidgetListenerNames, getWidgetOverride, getWidgetOverrideNames, hasAttribute, hasAttribute, hasAttribute, hasAttributeOrFellow, hasBindingAnnotation, hasFellow, hasFellow, hasSubBindingAnnotation, insertBefore, invalidate, invalidatePartial, isChildable, isInitialized, isInvalidated, isListenerAvailable, isVisible, onChildAdded, onChildRemoved, onPageAttached, onPageDetached, onWrongValue, query, queryAll, redraw, redrawChildren, removeAttribute, removeAttribute, removeAttribute, removeCallback, removeChild, removeEventListener, removeForward, removeForward, removeRedrawCallback, removeScopeListener, removeShadowRoot, render, render, render, replace, response, response, response, service, sessionDidActivate, sessionWillPassivate, setAttribute, setAttribute, setAttribute, setAuService, setAutag, setClientAttribute, setClientDataAttribute, setDefinition, setDefinition, setId, setMold, setPage, setPageBefore, setParent, setStubonly, setStubonly, setSubBindingAnnotationCount, setTemplate, setVisible, setVisibleDirectly, setWidgetAttribute, setWidgetClass, setWidgetListener, setWidgetOverride, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdate, smartUpdateWidgetListener, smartUpdateWidgetOverride, toString, updateSubBindingAnnotationCount, willPassivate, willPassivate, willSerialize, willSerialize
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
invalidatePartial
public static final int STOP
public static final int PLAY
public static final int PAUSE
public void service(AuRequest request, boolean everError)
HtmlBasedComponent
Default: it handles onClick, onDoubleClick, onRightClick onMove, onSize, onZIndex.
service
in interface ComponentCtrl
service
in class HtmlBasedComponent
everError
- whether any error ever occurred before
processing this request.AbstractComponent.setAuService(org.zkoss.zk.au.AuService)
public boolean isAutoplay()
Default: false.
public void setAutoplay(boolean autoplay)
autoplay
- whether to enable autoplay function.public boolean isControls()
Default: false.
public void setControls(boolean controls)
controls
- whether to display the video controls.public boolean isLoop()
Default: false.
public void setLoop(boolean loop)
loop
- whether to enable loop function.public boolean isDimBackground()
Default: false.
public void setDimBackground(boolean dimBackground)
dimBackground
- whether to enable theater mode.public java.lang.String getPreload()
Default: null.
public void setPreload(java.lang.String preload)
preload
- which could be one of "none", "metadata", "auto".public java.lang.String getPoster()
Default: null.
public void setPoster(java.lang.String poster)
poster
- the image source.public java.util.List<java.lang.String> getSrc()
Default: [].
public void setSrc(java.lang.String src)
Calling this method implies setContent(null).
In other words, the last invocation of setSrc(java.lang.String)
overrides
the previous setContent(org.zkoss.video.Video)
, if any.
src
- the video sources separated by ','.setContent(org.zkoss.video.Video)
public void setSrcList(java.util.List<java.lang.String> src)
setSrc(String)
.src
- the source list.public java.lang.String getCrossorigin()
Default: null.
public void setCrossorigin(java.lang.String crossorigin)
Could be "anonymous" or "use-credentials", an invalid string and an empty string will be handled as the "anonymous". Notice that this attribute refers to the corresponding attribute of the HTML5 specification. Hence, it would still be rendered to client-side as a DOM attribute even if the browser doesn’t support it.
crossorigin
- the crossorigin of this video tag.public boolean isPlaysinline()
Default: null.
public void setPlaysinline(boolean playsinline)
Sets the playsinline of this video tag. Notice that this attribute refers to the corresponding attribute of the HTML5 specification. Hence, it would still be rendered to client-side as a DOM attribute even if the browser doesn’t support it.
playsinline
- whether to enable the playsinline function.public double getPlaybackRate()
Default: 1.0.
public void setPlaybackRate(double playbackRate)
playbackRate
- video play speed.public boolean isClipToFit()
<video width="1000px" height="720px" />
,
it will cut off the sides of the video, preserving the aspect ratio, and also filling in the space.
Default: false.
public void setClipToFit(boolean clipToFit)
<video width="1000px" height="720px" />
,
it will cut off the sides of the video, preserving the aspect ratio, and also filling in the space.clipToFit
- whether to clip video when the source size doesn't fit the tag size setting.public boolean isMuted()
public void setMuted(boolean muted)
muted
- whether to mute the video.public void setPlaying(boolean playing)
playing
- whether to play the video.public void setCurrentTime(double currentTime)
currentTime
- which part of video to play, the value is in seconds.public double getVolume()
public void setVolume(double volume)
volume
- the volume of video, type of value is in double, valid value is between 0.0 and 1.0.public Video getContent()
Note: it won't fetch what is set thru by setSrc(java.lang.String)
.
It simply returns what is passed to setContent(org.zkoss.video.Video)
.
Default: null.
setContent(org.zkoss.video.Video)
.public void setContent(Video content)
Calling this method implies setSrc(null).
In other words, the last invocation of setContent(org.zkoss.video.Video)
overrides
the previous setSrc(java.lang.String)
, if any.
content
- sets the content directly.setSrc(java.lang.String)
public void play()
public void pause()
public void stop()
public boolean isPlaying()
public boolean isPaused()
public boolean isStopped()
protected void renderProperties(ContentRenderer renderer) throws java.io.IOException
HtmlBasedComponent
renderProperties
in class XulElement
java.io.IOException
public void beforeChildAdded(Component child, Component insertBefore)
AbstractComponent
beforeChildAdded
in interface ComponentCtrl
beforeChildAdded
in class AbstractComponent
child
- the child to be added (never null).insertBefore
- another child component that the new child
will be inserted before it. If null, the new child will be the
last child.ComponentCtrl.beforeChildAdded(org.zkoss.zk.ui.Component, org.zkoss.zk.ui.Component)
public java.lang.Object getExtraCtrl()
HtmlBasedComponent
Default: creates an instance of HtmlBasedComponent.ExtraCtrl
.
getExtraCtrl
in interface ComponentCtrl
getExtraCtrl
in class HtmlBasedComponent
Cropper
.ComponentCtrl.getExtraCtrl()
protected void updateByClient(java.lang.String name, java.lang.Object value)
AbstractComponent
setAttr
(by invoking zk.Widget's smartUpdate at client).
By default, it does nothing but log a warning message, since it is not safe to allow the client to update a field arbitrary.
However, if you'd like to allow the update for a particular component you could do one of the following
protected void updateByClient(String name, Object value) {
if ("disabled".equals(name))
setDisabled(name, ((Boolean)value).booleanValue());
else
super.updateByClient(name, value);
org.zkoss.zk.ui.updateByClient
to be true.
Then, this method will use reflection to find out the setter to update
the value. Nothing happens if the method is not found.Notice: this method will invoke AbstractComponent.disableClientUpdate(boolean)
to
disable any update to the client, when calling the setter.
If you want to enable the client update for all instances of a given component (though not recommended for the security reason), you could refer to here.
See also zk.Widget.smartUpdate().
updateByClient
in class AbstractComponent
Copyright © 2005-2021 Potix Corporation. All Rights Reserved.