The HTMLMediaElement interface adds to HTMLElement the properties and methods needed to support basic media-related capabilities that are common to audio and video.

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

See also:

Static variables

@:value(2)staticinlineread onlyHAVE_CURRENT_DATA:Int = 2

@:value(4)staticinlineread onlyHAVE_ENOUGH_DATA:Int = 4

@:value(3)staticinlineread onlyHAVE_FUTURE_DATA:Int = 3

@:value(1)staticinlineread onlyHAVE_METADATA:Int = 1

@:value(0)staticinlineread onlyHAVE_NOTHING:Int = 0

@:value(0)staticinlineread onlyNETWORK_EMPTY:Int = 0

@:value(1)staticinlineread onlyNETWORK_IDLE:Int = 1

@:value(2)staticinlineread onlyNETWORK_LOADING:Int = 2

@:value(3)staticinlineread onlyNETWORK_NO_SOURCE:Int = 3

Variables

read onlyaudioTracks:AudioTrackList

A AudioTrackList that lists the AudioTrack objects contained in the element.

autoplay:Bool

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. Sites which automatically play audio (or videos with an audio track) can be an unpleasant experience for users, so it should be avoided when possible. If you must offer autoplay functionality, you should make it opt-in (requiring a user to specifically enable it). However, this can be useful when creating media elements whose source will be set at a later time, under user control.

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.

read onlymediaKeys:MediaKeys

Returns a MediaKeys object or null. MediaKeys is a set of keys that an associated HTMLMediaElement can use for decryption of media data during playback.

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.

onencrypted:Function

Sets the EventHandler called when the media is encrypted.

onwaitingforkey:Function

Sets the EventHandler called when playback is blocked while waiting for an encryption key.

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, or null if not assigned.

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.

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).

Methods

@:value({ language : "", label : "" })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

Directly seeks to the given time.

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

Pauses the media playback.

Throws:

null

DOMError

play():Promise<Void>

Begins playback of the media.

Throws:

null

DOMError

setMediaKeys(mediaKeys:MediaKeys):Promise<Void>

Returns Promise. Sets the MediaKeys keys to use when decrypting media during playback.

Inherited Variables

Defined by DOMElement

read onlyattributes:NamedNodeMap

Returns a NamedNodeMap object containing the assigned attributes of the corresponding HTML element.

read onlyclassList:DOMTokenList

Returns a DOMTokenList containing the list of class attributes.

className:String

Is a DOMString representing the class of the element.

read onlyclientHeight:Int

Returns a Number representing the inner height of the element.

read onlyclientLeft:Int

Returns a Number representing the width of the left border of the element.

read onlyclientTop:Int

Returns a Number representing the width of the top border of the element.

read onlyclientWidth:Int

Returns a Number representing the inner width of the element.

id:String

Is a DOMString representing the id of the element.

innerHTML:String

Is a DOMString representing the markup of the element's content.

read onlylocalName:String

A DOMString representing the local part of the qualified name of the element.

read onlynamespaceURI:String

The namespace URI of the element, 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 http://www.w3.org/1999/xhtml namespace in both HTML and XML trees. 1.9.2

read onlyoffsetHeight:Int

read onlyoffsetLeft:Int

read onlyoffsetTop:Int

read onlyoffsetWidth:Int

ongotpointercapture:Function

Returns the event handler for the gotpointercapture event type.

onlostpointercapture:Function

Returns the event handler for the lostpointercapture event type.

onwheel:Function

Returns the event handling code for the wheel event. This is now implemented on GlobalEventHandlers.onwheel.

outerHTML:String

Is a DOMString representing the markup of the element including its content. When used as a setter, replaces the element with nodes parsed from the given string.

read onlyprefix:String

A DOMString representing the namespace prefix of the element, or null if no prefix is specified.

read onlyscrollHeight:Int

Returns a Number representing the scroll view height of an element.

scrollLeft:Int

Is a Number representing the left scroll offset of the element.

read onlyscrollLeftMax:Int

Returns a Number representing the maximum left scroll offset possible for the element.

scrollTop:Int

A Number representing number of pixels the top of the document is scrolled vertically.

read onlyscrollTopMax:Int

Returns a Number representing the maximum top scroll offset possible for the element.

read onlyscrollWidth:Int

Returns a Number representing the scroll view width of the element.

read onlyshadowRoot:ShadowRoot

Returns the open shadow root that is hosted by the element, or null if no open shadow root is present.

slot:String

Returns the name of the shadow DOM slot the element is inserted in.

read onlytagName:String

Returns a String with the name of the tag for the given element.

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 onlyisConnected:Bool

Returns a boolean indicating whether or not the Node is connected (directly or indirectly) to the context object, e.g. the Document object in the case of the normal DOM, or the ShadowRoot in the case of a shadow DOM.

read onlylastChild:Node

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

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 node 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 the node is itself a document, 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 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 Element

blur():Void

Removes keyboard focus from the currently focused element.

Throws:

null

DOMError

click():Void

Sends a mouse click event to the element.

focus():Void

Makes the element the current keyboard focus.

Throws:

null

DOMError

Defined by DOMElement

after(nodes:Rest<Node>):Void

after(nodes:Rest<String>):Void

Throws:

null

DOMError

animate(keyframes:Dynamic, ?options:Float):Animation

animate(keyframes:Dynamic, ?options:Null<KeyframeAnimationOptions>):Animation

A shortcut method to create and run an animation on an element. Returns the created Animation object instance.

Throws:

null

DOMError

append(nodes:Rest<Node>):Void

append(nodes:Rest<String>):Void

Throws:

null

DOMError

attachShadow(shadowRootInitDict:ShadowRootInit):ShadowRoot

Attatches a shadow DOM tree to the specified element and returns a reference to its ShadowRoot.

Throws:

null

DOMError

before(nodes:Rest<Node>):Void

before(nodes:Rest<String>):Void

Throws:

null

DOMError

closest(selector:String):Element

Returns the Element which is the closest ancestor of the current element (or the current element itself) which matches the selectors given in parameter.

Throws:

null

DOMError

getAnimations(?filter:Null<AnimationFilter>):Array<Animation>

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

getAttribute(name:String):String

Retrieves the value of the named attribute from the current node and returns it as an Object.

getAttributeNS(namespace:String, localName:String):String

Retrieves the value of the attribute with the specified name and namespace, from the current node and returns it as an Object.

getAttributeNames():Array<String>

Returns an array of attribute names from the current element.

getAttributeNode(name:String):Attr

Retrieves the node representation of the named attribute from the current node and returns it as an Attr.

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

Retrieves the node representation of the attribute with the specified name and namespace, from the current node and returns it as an Attr.

getBoundingClientRect():DOMRect

Returns the size of an element and its position relative to the viewport.

getClientRects():DOMRectList

Returns a collection of rectangles that indicate the bounding rectangles for each line of text in a client.

getElementsByClassName(classNames:String):HTMLCollection

Returns a live HTMLCollection that contains all descendants of the current element that possess the list of classes given in the parameter.

getElementsByTagName(localName:String):HTMLCollection

Returns a live HTMLCollection containing all descendant elements, of a particular tag name, from the current element.

getElementsByTagNameNS(namespace:String, localName:String):HTMLCollection

Returns a live HTMLCollection containing all descendant elements, of a particular tag name and namespace, from the current element.

Throws:

null

DOMError

hasAttribute(name:String):Bool

Returns a Boolean indicating if the element has the specified attribute or not.

hasAttributeNS(namespace:String, localName:String):Bool

Returns a Boolean indicating if the element has the specified attribute, in the specified namespace, or not.

hasAttributes():Bool

Returns a Boolean indicating if the element has one or more HTML attributes present.

insertAdjacentElement(where:String, element:Element):Element

Inserts a given element node at a given position relative to the element it is invoked upon.

Throws:

null

DOMError

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

Parses the text as HTML or XML and inserts the resulting nodes into the tree in the position given.

Throws:

null

DOMError

insertAdjacentText(where:String, data:String):Void

Inserts a given text node at a given position relative to the element it is invoked upon.

Throws:

null

DOMError

matches(selector:String):Bool

Returns a Boolean indicating whether or not the element would be selected by the specified selector string.

Throws:

null

DOMError

prepend(nodes:Rest<Node>):Void

prepend(nodes:Rest<String>):Void

Throws:

null

DOMError

querySelector(selectors:String):Element

Returns the first Node which matches the specified selector string relative to the element.

Throws:

null

DOMError

querySelectorAll(selectors:String):NodeList

Returns a NodeList of nodes which match the specified selector string relative to the element.

Throws:

null

DOMError

releasePointerCapture(pointerId:Int):Void

Releases (stops) pointer capture that was previously set for a specific PointerEvent.

Throws:

null

DOMError

removeAttribute(name:String):Void

Removes the named attribute from the current node.

Throws:

null

DOMError

removeAttributeNS(namespace:String, localName:String):Void

Removes the attribute with the specified name and namespace, from the current node.

Throws:

null

DOMError

removeAttributeNode(oldAttr:Attr):Attr

Removes the node representation of the named attribute from the current node.

Throws:

null

DOMError

replaceWith(nodes:Rest<Node>):Void

replaceWith(nodes:Rest<String>):Void

Throws:

null

DOMError

requestFullscreen(?options:Null<FullscreenOptions>):Promise<Void>

Asynchronously asks the browser to make the element full-screen.

Throws:

null

DOMError

requestPointerLock():Void

Allows to asynchronously ask for the pointer to be locked on the given element.

scrollIntoView(?arg:Bool):Void

scrollIntoView(?arg:Null<ScrollIntoViewOptions>):Void

Scrolls the page until the element gets into the view.

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

Sets the value of a named attribute of the current node.

Throws:

null

DOMError

setAttributeNS(namespace:String, name:String, value:String):Void

Sets the value of the attribute with the specified name and namespace, from the current node.

Throws:

null

DOMError

setAttributeNode(newAttr:Attr):Attr

Sets the node representation of the named attribute from the current node.

Throws:

null

DOMError

setAttributeNodeNS(newAttr:Attr):Attr

Sets the node representation of the attribute with the specified name and namespace, from the current node.

Throws:

null

DOMError

@:value({ retargetToElement : false })setCapture(retargetToElement:Bool = false):Void

Sets up mouse event capture, redirecting all mouse events to this element.

setPointerCapture(pointerId:Int):Void

Designates a specific element as the capture target of future pointer events.

Throws:

null

DOMError

toggleAttribute(name:String, ?force:Bool):Bool

Toggles a boolean attribute, removing it if it is present and adding it if it is not present, on the specified element.

Throws:

null

DOMError

webkitMatchesSelector(selector:String):Bool

Throws:

null

DOMError

Defined by Node

appendChild(node:Node):Node

Adds the specified childNode argument as the last child to the current node.

If the argument referenced an existing node on the DOM tree, the node will be detached from its current position and attached at the new position.

	@throws DOMError

@:value({ deep : false })cloneNode(deep:Bool = false):Node

Clone a Node, and optionally, all of its contents. By default, it clones the content of the node.

Throws:

null

DOMError

compareDocumentPosition(other:Node):Int

Compares the position of the current node against another node in any other document.

contains(other:Node):Bool

Returns a Boolean value indicating whether a node is a descendant of a given node or not.

getRootNode(?options:Null<GetRootNodeOptions>):Node

Returns the context object's 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

Inserts a Node before the reference node as a child of a specified parent node.

Throws:

null

DOMError

isDefaultNamespace(namespace:String):Bool

Accepts a namespace URI as an argument and returns a Boolean with a value of true if the namespace is the default namespace on the given node or false if not.

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.

isSameNode(node:Node):Bool

Returns a Boolean value indicating whether or not the two nodes are the same (that is, they reference the same object).

lookupNamespaceURI(prefix:String):String

Accepts a prefix and returns the namespace URI associated with it on the given node if found (and null if not). Supplying null for the prefix will return the default namespace.

lookupPrefix(namespace:String):String

Returns a DOMString containing the prefix for a given namespace URI, if present, and null if not. When multiple prefixes are possible, the result is implementation-dependent.

normalize():Void

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

removeChild(child:Node):Node

Removes a child node from the current element, which must be a child of the current node.

Throws:

null

DOMError

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

Replaces one child Node of the current one with the second one given in parameter.

Throws:

null

DOMError

Defined by EventTarget

addEventListener(type:String, listener:Function, ?options:EitherType<AddEventListenerOptions, Bool>, ?wantsUntrusted:Bool):Void

addEventListener(type:String, listener:EventListener, ?options:EitherType<AddEventListenerOptions, Bool>, ?wantsUntrusted:Bool):Void

Register an event handler of a specific event type on the EventTarget.

Throws:

null

DOMError

dispatchEvent(event:Event):Bool

Dispatch an event to this EventTarget.

Throws:

null

DOMError

removeEventListener(type:String, listener:Function, ?options:EitherType<EventListenerOptions, Bool>):Void

removeEventListener(type:String, listener:EventListener, ?options:EitherType<EventListenerOptions, Bool>):Void

Removes an event listener from the EventTarget.

Throws:

null

DOMError