# class VideoElement

#### package js.html

#### extends MediaElement › Element › DOMElement › Node › EventTarget

Available on HTML5

The `HTMLVideoElement` interface provides special properties and methods for manipulating video objects. It also inherits properties and methods of `HTMLMediaElement` and `HTMLElement`.

Documentation HTMLVideoElement by Mozilla Contributors, licensed under CC-BY-SA 2.5.

See:

https://developer.mozilla.org/en-US/docs/Web/API/HTMLVideoElement

### Variables

###

`height:Int`

Is a `DOMString` that reflects the `height` HTML attribute, which specifies the height of the display area, in CSS pixels.

###

`poster:String`

Is a `DOMString` that reflects the `poster` HTML attribute, which specifies an image to show while no video data is available.

###

`read onlyvideoHeight:Int`

Returns an `unsigned long` containing the intrinsic height of the resource in CSS pixels, taking into account the dimensions, aspect ratio, clean aperture, resolution, and so forth, as defined for the format used by the resource. If the element's ready state is `HAVE_NOTHING`, the value is `0`.

###

`read onlyvideoWidth:Int`

Returns an `unsigned long` containing the intrinsic width of the resource in CSS pixels, taking into account the dimensions, aspect ratio, clean aperture, resolution, and so forth, as defined for the format used by the resource. If the element's ready state is `HAVE_NOTHING`, the value is `0`.

###

`width:Int`

Is a `DOMString` that reflects the `width` HTML attribute, which specifies the width of the display area, in CSS pixels.

### Methods

###

`getVideoPlaybackQuality ():VideoPlaybackQuality`

Returns a `VideoPlaybackQuality` objects that contains the current playback metrics.

### Inherited Variables

#### Defined by MediaElement

###

`read onlyaudioTracks:AudioTrackList`

Is a `AudioTrackList` that lists the `AudioTrack` objects contained in the element.

###

`autoplay:Bool`

Is a `Boolean` that reflects the `autoplay` HTML attribute, indicating whether playback should automatically begin as soon as enough media is available to do so without interruption.

###

`read onlybuffered:TimeRanges`

Returns a `TimeRanges` object that indicates the ranges of the media source that the browser has buffered (if any) at the moment the `buffered` property is accessed.

###

`controls:Bool`

Is a `Boolean` that reflects the `controls` HTML attribute, indicating whether user interface items for controlling the resource should be displayed.

###

`crossOrigin:String`

Is a `DOMString` indicating the CORS setting for this media element.

###

`read onlycurrentSrc:String`

Returns a `DOMString` with the absolute URL of the chosen media resource.

###

`currentTime:Float`

Is a `double` indicating the current playback time in seconds. Setting this value seeks the media to the new time.

###

`defaultMuted:Bool`

Is a `Boolean` that reflects the `muted` HTML attribute, which indicates whether the media element's audio output should be muted by default.

###

`defaultPlaybackRate:Float`

Is a `double` indicating the default playback rate for the media.

###

`read onlyduration:Float`

Returns a `double` indicating the length of the media in seconds, or 0 if no media data is available.

###

`read onlyended:Bool`

Returns a `Boolean` that indicates whether the media element has finished playing.

###

`read onlyerror:MediaError`

Returns a `MediaError` object for the most recent error, or `null` if there has not been an error.

###

`loop:Bool`

Is a `Boolean` that reflects the `loop` HTML attribute, which indicates whether the media element should start over when it reaches the end.

###

`muted:Bool`

Is a `Boolean` that determines whether audio is muted. `true` if the audio is muted and `false` otherwise.

###

`read onlynetworkState:Int`

Returns a `unsigned short` (enumeration) indicating the current state of fetching the media over the network.

###

`read onlypaused:Bool`

Returns a `Boolean` that indicates whether the media element is paused.

###

`playbackRate:Float`

Is a `double` that indicates the rate at which the media is being played back.

###

`read onlyplayed:TimeRanges`

Returns a `TimeRanges` object that contains the ranges of the media source that the browser has played, if any.

###

`preload:String`

Is a `DOMString` that reflects the `preload` HTML attribute, indicating what data should be preloaded, if any. Possible values are: `none`, `metadata`, `auto`.

###

`read onlyreadyState:Int`

Returns a `unsigned short` (enumeration) indicating the readiness state of the media.

###

`read onlyseekable:TimeRanges`

Returns a `TimeRanges` object that contains the time ranges that the user is able to seek to, if any.

###

`read onlyseeking:Bool`

Returns a `Boolean` that indicates whether the media is in the process of seeking to a new position.

###

`src:String`

Is a `DOMString` that reflects the `src` HTML attribute, which contains the URL of a media resource to use.

###

`srcObject:MediaStream`

Is a `MediaStream` representing the media to play or that has played in the current `HTMLMediaElement`.

###

`read onlytextTracks:TextTrackList`

Returns the list of `TextTrack` objects contained in the element.

###

`read onlyvideoTracks:VideoTrackList`

Returns the list of `VideoTrack` objects contained in the element.

Note: Gecko supports only single track playback, and the parsing of tracks' metadata is only available for media with the Ogg container format.

###

`volume:Float`

Is a `double` indicating the audio volume, from 0.0 (silent) to 1.0 (loudest).

#### Defined by DOMElement

###

`accessKey:String`

###

`read onlyaccessKeyLabel:String`

###

`read onlyattributes:NamedNodeMap`

###

`read onlychildElementCount:Int`

###

`read onlychildren:HTMLCollection`

###

`read onlyclassList:DOMTokenList`

###

`className:String`

###

`read onlyclientHeight:Int`

###

`read onlyclientLeft:Int`

###

`read onlyclientTop:Int`

###

`read onlyclientWidth:Int`

###

`contentEditable:String`

###

`read onlycontextMenu:MenuElement`

###

`read onlydataset:DOMStringMap`

###

`dir:String`

###

`draggable:Bool`

###

`read onlyfirstElementChild:Element`

###

`hidden:Bool`

###

`id:String`

###

`innerHTML:String`

###

`innerText:String`

###

`read onlyisContentEditable:Bool`

###

`itemId:String`

###

`read onlyitemProp:DOMTokenList`

###

`read onlyitemRef:DOMTokenList`

###

`itemScope:Bool`

###

`read onlyitemType:DOMTokenList`

###

`itemValue:Dynamic`

###

`lang:String`

###

`read onlylastElementChild:Element`

###

`read onlynextElementSibling:Element`

###

`read onlyoffsetHeight:Int`

###

`read onlyoffsetLeft:Int`

###

`read onlyoffsetParent:Element`

###

`read onlyoffsetTop:Int`

###

`read onlyoffsetWidth:Int`

###

`onabort:Function`

###

`onblur:Function`

###

`oncanplay:Function`

###

`oncanplaythrough:Function`

###

`onchange:Function`

###

`onclick:Function`

###

`oncontextmenu:Function`

###

`oncopy:Function`

###

`oncut:Function`

###

`ondblclick:Function`

###

`ondrag:Function`

###

`ondragend:Function`

###

`ondragenter:Function`

###

`ondragleave:Function`

###

`ondragover:Function`

###

`ondragstart:Function`

###

`ondrop:Function`

###

`ondurationchange:Function`

###

`onemptied:Function`

###

`onended:Function`

###

`onerror:Function`

###

`onfocus:Function`

###

`onfullscreenchange:Function`

###

`onfullscreenerror:Function`

###

`ongotpointercapture:Function`

###

`oninput:Function`

###

`oninvalid:Function`

###

`onkeydown:Function`

###

`onkeypress:Function`

###

`onkeyup:Function`

###

`onload:Function`

###

`onloadeddata:Function`

###

`onloadedmetadata:Function`

###

`onloadstart:Function`

###

`onlostpointercapture:Function`

###

`onmousedown:Function`

###

`onmouseenter:Function`

###

`onmouseleave:Function`

###

`onmousemove:Function`

###

`onmouseout:Function`

###

`onmouseover:Function`

###

`onmouseup:Function`

###

`onpaste:Function`

###

`onpause:Function`

###

`onplay:Function`

###

`onplaying:Function`

###

`onpointercancel:Function`

###

`onpointerdown:Function`

###

`onpointerenter:Function`

###

`onpointerleave:Function`

###

`onpointerlockchange:Function`

###

`onpointerlockerror:Function`

###

`onpointermove:Function`

###

`onpointerout:Function`

###

`onpointerover:Function`

###

`onpointerup:Function`

###

`onprogress:Function`

###

`onratechange:Function`

###

`onreset:Function`

###

`onresize:Function`

###

`onscroll:Function`

###

`onseeked:Function`

###

`onseeking:Function`

###

`onselect:Function`

###

`onshow:Function`

###

`onstalled:Function`

###

`onsubmit:Function`

###

`onsuspend:Function`

###

`ontimeupdate:Function`

###

`ontouchcancel:Function`

###

`ontouchend:Function`

###

`ontouchmove:Function`

###

`ontouchstart:Function`

###

`onvolumechange:Function`

###

`onwaiting:Function`

###

`onwheel:Function`

###

`outerHTML:String`

###

`read onlypreviousElementSibling:Element`

###

`read onlyproperties:HTMLPropertiesCollection`

###

`read onlyscrollHeight:Int`

###

`scrollLeft:Int`

###

`read onlyscrollLeftMax:Int`

###

`scrollTop:Int`

###

`read onlyscrollTopMax:Int`

###

`read onlyscrollWidth:Int`

###

`read onlyshadowRoot:ShadowRoot`

###

`spellcheck:Bool`

###

`read onlystyle:CSSStyleDeclaration`

###

`tabIndex:Int`

###

`read onlytagName:String`

###

`title:String`

#### Defined by Node

###

`read onlybaseURI:String`

Returns a `DOMString` representing the base URL. The concept of base URL changes from one language to another; in HTML, it corresponds to the protocol, the domain name and the directory structure, that is all until the last `'/'`.

###

`read onlychildNodes:NodeList`

Returns a live `NodeList` containing all the children of this node. `NodeList` being live means that if the children of the `Node` change, the `NodeList` object is automatically updated.

###

`read onlyfirstChild:Node`

Returns a `Node` representing the first direct child node of the node, or `null` if the node has no child.

###

`read onlylastChild:Node`

Returns a `Node` representing the last direct child node of the node, or `null` if the node has no child.

###

`read onlylocalName:String`

Returns a `DOMString` representing the local part of the qualified name of an element.

Note: In Firefox 3.5 and earlier, the property upper-cases the local name for HTML elements (but not XHTML elements). In later versions, this does not happen, so the property is in lower case for both HTML and XHTML. `1.9.2`

###

`read onlynamespaceURI:String`

The namespace URI of this node, or `null` if it is no namespace.

Note: In Firefox 3.5 and earlier, HTML elements are in no namespace. In later versions, HTML elements are in the `https://www.w3.org/1999/xhtml/` namespace in both HTML and XML trees. `1.9.2`

###

`read onlynextSibling:Node`

Returns a `Node` representing the next node in the tree, or `null` if there isn't such node.

###

`read onlynodeName:String`

Returns a `DOMString` containing the name of the `Node`. The structure of the name will differ with the name type. E.g. An `HTMLElement` will contain the name of the corresponding tag, like `'audio'` for an `HTMLAudioElement`, a `Text` node will have the `'#text'` string, or a `Document` node will have the `'#document'` string.

###

`read onlynodeType:Int`

Returns an `unsigned short` representing the type of the node. Possible values are:

Name Value
`ELEMENT_NODE` | `1`
`ATTRIBUTE_NODE` (deprecated) | `2`
`TEXT_NODE` | `3`
`CDATA_SECTION_NODE` (deprecated) | `4`
`ENTITY_REFERENCE_NODE` (deprecated) | `5`
`ENTITY_NODE` (deprecated) | `6`
`PROCESSING_INSTRUCTION_NODE` | `7`
`COMMENT_NODE` | `8`
`DOCUMENT_NODE` | `9`
`DOCUMENT_TYPE_NODE` | `10`
`DOCUMENT_FRAGMENT_NODE` | `11`
`NOTATION_NODE` (deprecated) | `12`

###

`nodeValue:String`

Returns / Sets the value of the current node

###

`read onlyownerDocument:HTMLDocument`

Returns the `Document` that this node belongs to. If no document is associated with it, returns `null`.

###

`read onlyparentElement:Element`

Returns an `Element` that is the parent of this node. If the node has no parent, or if that parent is not an `Element`, this property returns `null`.

###

`read onlyparentNode:Node`

Returns a `Node` that is the parent of this node. If there is no such node, like if this node is the top of the tree or if doesn't participate in a tree, this property returns `null`.

###

`read onlyprefix:String`

Is a `DOMString` representing the namespace prefix of the node, or `null` if no prefix is specified.

###

`read onlypreviousSibling:Node`

Returns a `Node` representing the previous node in the tree, or `null` if there isn't such node.

###

`textContent:String`

Returns / Sets the textual content of an element and all its descendants.

### Inherited Methods

#### Defined by MediaElement

###

`addTextTrack (kind:TextTrackKind, label:String = "", language:String = ""):TextTrack`

Adds a text track (such as a track for subtitles) to a media element.

###

`canPlayType (type:String):String`

Determines whether the specified media type can be played back.

###

`fastSeek (time:Float):Void`

Throws:

`null` | DOMError

###

`load ():Void`

Resets the media element and restarts the media resource. Any pending events are discarded. How much media data is fetched is still affected by the `preload` attribute. This method can be useful for releasing resources after any `src` attribute and `source` element descendants have been removed. Otherwise, it is usually unnecessary to use this method, unless required to rescan `source` element children after dynamic changes.

###

`pause ():Void`

Throws:

`null` | DOMError

###

`play ():Void`

Throws:

`null` | DOMError

#### Defined by DOMElement

###

`animate (frames:Dynamic, ?options:EitherType<Float, Dynamic>):Animation`

Throws:

`null` | DOMError

###

`blur ():Void`

Throws:

`null` | DOMError

###

`click ():Void`

###

`closest (selector:String):Element`

Throws:

`null` | DOMError

###

`convertPointFromNode (point:DOMPointInit, from:EitherType<Text, EitherType<Element, HTMLDocument>>, ?options:ConvertCoordinateOptions):DOMPoint`

Throws:

`null` | DOMError

###

`convertQuadFromNode (quad:DOMQuad, from:EitherType<Text, EitherType<Element, HTMLDocument>>, ?options:ConvertCoordinateOptions):DOMQuad`

Throws:

`null` | DOMError

###

`convertRectFromNode (rect:DOMRectReadOnly, from:EitherType<Text, EitherType<Element, HTMLDocument>>, ?options:ConvertCoordinateOptions):DOMQuad`

Throws:

`null` | DOMError

###

`createShadowRoot ():ShadowRoot`

Throws:

`null` | DOMError

###

`focus ():Void`

Throws:

`null` | DOMError

###

`getAnimations ():Array<Animation>`

Returns an array of Animation objects currently active on the element.

###

`getAttribute (name:String):String`

###

`getAttributeNS (namespace_:String, localName:String):String`

###

`getAttributeNames ():Array<String>`

###

`getAttributeNode (name:String):Attr`

###

`getAttributeNodeNS (namespaceURI:String, localName:String):Attr`

###

`getBoundingClientRect ():DOMRect`

###

`getClientRects ():DOMRectList`

###

`getDestinationInsertionPoints ():NodeList`

…

###

`getElementsByClassName (classNames:String):HTMLCollection`

###

`getElementsByTagName (localName:String):HTMLCollection`

###

`getElementsByTagNameNS (namespace_:String, localName:String):HTMLCollection`

Throws:

`null` | DOMError

###

`hasAttribute (name:String):Bool`

###

`hasAttributeNS (namespace_:String, localName:String):Bool`

###

`hasAttributes ():Bool`

###

`insertAdjacentHTML (position:String, text:String):Void`

Throws:

`null` | DOMError

###

`matches (selector:String):Bool`

Throws:

`null` | DOMError

###

`querySelector (selectors:String):Element`

Throws:

`null` | DOMError

###

`querySelectorAll (selectors:String):NodeList`

Throws:

`null` | DOMError

###

`releaseCapture ():Void`

###

`releasePointerCapture (pointerId:Int):Void`

Throws:

`null` | DOMError

###

`remove ():Void`

###

`removeAttribute (name:String):Void`

Throws:

`null` | DOMError

###

`removeAttributeNS (namespace_:String, localName:String):Void`

Throws:

`null` | DOMError

###

`removeAttributeNode (oldAttr:Attr):Attr`

Throws:

`null` | DOMError

###

`requestFullscreen (?options:Dynamic):Void`

Throws:

`null` | DOMError

###

`requestPointerLock ():Void`

###

`scroll (?options:ScrollToOptions):Void`

`scroll (x:Float, y:Float):Void`

###

`scrollBy (?options:ScrollToOptions):Void`

`scrollBy (x:Float, y:Float):Void`

###

`scrollIntoView (?options:ScrollIntoViewOptions):Void`

`scrollIntoView (top:Bool):Void`

###

`scrollTo (?options:ScrollToOptions):Void`

`scrollTo (x:Float, y:Float):Void`

###

`setAttribute (name:String, value:String):Void`

Throws:

`null` | DOMError

###

`setAttributeNS (namespace_:String, name:String, value:String):Void`

Throws:

`null` | DOMError

###

`setAttributeNode (newAttr:Attr):Attr`

Throws:

`null` | DOMError

###

`setAttributeNodeNS (newAttr:Attr):Attr`

Throws:

`null` | DOMError

###

`setCapture (retargetToElement:Bool = false):Void`

###

`setPointerCapture (pointerId:Int):Void`

Throws:

`null` | DOMError

###

`webkitMatchesSelector (selector:String):Bool`

Throws:

`null` | DOMError

#### Defined by Node

###

`appendChild (node:Node):Node`

Throws:

`null` | DOMError

###

`cloneNode (deep:Bool = false):Node`

Throws:

`null` | DOMError

###

`compareDocumentPosition (other:Node):Int`

Returns the context objects root which optionally includes the shadow root if it is available.

###

`contains (other:Node):Bool`

Returns the context objects root which optionally includes the shadow root if it is available.

###

`hasChildNodes ():Bool`

Returns a `Boolean` indicating if the element has any child nodes, or not.

###

`insertBefore (node:Node, child:Node):Node`

Throws:

`null` | DOMError

###

`isDefaultNamespace (namespace_:String):Bool`

Returns a `Boolean` which indicates whether or not two nodes are of the same type and all their defining data points match.

###

`isEqualNode (node:Node):Bool`

Returns a `Boolean` which indicates whether or not two nodes are of the same type and all their defining data points match.

###

`lookupNamespaceURI (prefix:String):String`

Clean up all the text nodes under this element (merge adjacent, remove empty).

###

`lookupPrefix (namespace_:String):String`

Clean up all the text nodes under this element (merge adjacent, remove empty).

###

`normalize ():Void`

Clean up all the text nodes under this element (merge adjacent, remove empty).

###

`removeChild (child:Node):Node`

Throws:

`null` | DOMError

###

`replaceChild (node:Node, child:Node):Node`

Throws:

`null` | DOMError

#### Defined by EventTarget

###

`addEventListener (type:String, listener:Function, capture:Bool = false):Void`

`addEventListener (type:String, listener:EventListener, capture:Bool = false, ?wantsUntrusted:Bool):Void`

Throws:

`null` | DOMError

###

`dispatchEvent (event:Event):Bool`

Throws:

`null` | DOMError

###

`removeEventListener (type:String, listener:Function, capture:Bool = false):Void`

`removeEventListener (type:String, listener:EventListener, capture:Bool = false):Void`

Throws:

`null` | DOMError