HTMLMediaElement

基线 广泛可用

此功能已得到良好建立,并且可以在许多设备和浏览器版本上运行。它自以下时间起在浏览器中可用 2015 年 7 月.

HTMLMediaElement 接口向 HTMLElement 添加了支持音频和视频通用的基本媒体相关功能所需的属性和方法。

HTMLVideoElementHTMLAudioElement 元素都继承了此接口。

EventTarget Node Element HTMLElement HTMLMediaElement

实例属性

此接口还继承了其祖先 HTMLElementElementNodeEventTarget 的属性。

HTMLMediaElement.audioTracks

一个 AudioTrackList,其中列出了元素中包含的 AudioTrack 对象。

HTMLMediaElement.autoplay

一个布尔值,反映了 autoplay HTML 属性,指示是否应在有足够的媒体可用以无中断播放时自动开始播放。

注意:在用户不期望或不希望的情况下自动播放音频是一种糟糕的用户体验,在大多数情况下应避免,尽管存在例外情况。有关更多信息,请参阅 媒体和 Web Audio API 的自动播放指南。请记住,浏览器可能会忽略自动播放请求,因此您应确保您的代码不依赖于自动播放正常工作。

HTMLMediaElement.buffered 只读

返回一个 TimeRanges 对象,该对象指示浏览器在访问 buffered 属性时已缓冲的媒体源范围(如果有)。

HTMLMediaElement.controls

一个布尔值,反映了 controls HTML 属性,指示是否应显示用于控制资源的用户界面项。

HTMLMediaElement.controlsList 只读

返回一个 DOMTokenList,该列表帮助用户代理在用户代理显示其自己的控件集时选择要在媒体元素上显示哪些控件。DOMTokenList 采用三个可能值中的一个或多个:nodownloadnofullscreennoremoteplayback

HTMLMediaElement.crossOrigin

一个字符串,指示此媒体元素的 CORS 设置

HTMLMediaElement.currentSrc 只读

返回一个包含所选媒体资源的绝对 URL 的字符串。

HTMLMediaElement.currentTime

一个双精度浮点数,指示以秒为单位的当前播放时间;如果媒体尚未开始播放且未进行过跳转,则此值为媒体的初始播放时间。设置此值会将媒体跳转到新时间。时间相对于媒体的时间轴指定。

HTMLMediaElement.defaultMuted

一个布尔值,反映了 muted HTML 属性,该属性指示是否应默认静音媒体元素的音频输出。

HTMLMediaElement.defaultPlaybackRate

一个 double,指示媒体的默认播放速率。

HTMLMediaElement.disableRemotePlayback

一个布尔值,设置或返回远程播放状态,指示是否允许媒体元素具有远程播放 UI。

HTMLMediaElement.duration 只读

一个只读双精度浮点数,指示媒体的总时长(以秒为单位)。如果无媒体数据可用,则返回的值为 NaN。如果媒体的长度不确定(例如流式传输的直播媒体、WebRTC 通话的媒体或类似媒体),则该值为 +Infinity

HTMLMediaElement.ended 只读

返回一个布尔值,指示媒体元素是否已完成播放。

HTMLMediaElement.error 只读

返回最近错误的 MediaError 对象,如果未发生错误,则返回 null

HTMLMediaElement.loop

一个布尔值,反映了 loop HTML 属性,该属性指示媒体元素在到达末尾时是否应重新开始。

HTMLMediaElement.mediaKeys 只读 安全上下文

返回一个 MediaKeys 对象,它是一组密钥,元素可以在播放期间使用这些密钥对媒体数据进行解密。如果没有可用的密钥,它可以是 null

HTMLMediaElement.muted

一个布尔值,用于确定音频是否静音。如果音频已静音,则为true,否则为false

HTMLMediaElement.networkState 只读

返回一个unsigned short(枚举),指示通过网络获取媒体的当前状态。

HTMLMediaElement.paused 只读

返回一个布尔值,指示媒体元素是否已暂停。

HTMLMediaElement.playbackRate

一个double值,指示媒体回放的速度。

HTMLMediaElement.played 只读

返回一个TimeRanges对象,该对象包含浏览器已播放的媒体源的范围(如果有)。

HTMLMediaElement.preload

一个字符串,反映preload HTML 属性,指示应预加载哪些数据(如果有)。可能的值为:nonemetadataauto

HTMLMediaElement.preservesPitch

一个布尔值,用于确定是否保留声音的音调。如果设置为false,则音调将根据音频速度进行调整。

HTMLMediaElement.readyState 只读

返回一个unsigned short(枚举),指示媒体的准备就绪状态。

HTMLMediaElement.remote 只读

返回与媒体元素关联的RemotePlayback对象实例。

HTMLMediaElement.seekable 只读

返回一个TimeRanges对象,该对象包含用户能够跳转到的时间范围(如果有)。

HTMLMediaElement.seeking 只读

返回一个布尔值,指示媒体是否正在跳转到新位置。

HTMLMediaElement.sinkId 只读 安全上下文

返回一个字符串,该字符串是传递输出的音频设备的唯一 ID,如果使用用户代理默认音频设备,则返回空字符串。

HTMLMediaElement.src

一个字符串,反映src HTML 属性,该属性包含要使用的媒体资源的 URL。

HTMLMediaElement.srcObject

一个MediaStream,表示在当前HTMLMediaElement中播放或已播放的媒体,如果未分配,则为null

HTMLMediaElement.textTracks 只读

返回一个TextTrackList对象,其中包含元素中包含的TextTrack对象的列表。

HTMLMediaElement.videoTracks 只读

返回一个VideoTrackList对象,其中包含元素中包含的VideoTrack对象的列表。

HTMLMediaElement.volume

一个double值,指示音频音量,范围从 0.0(静音)到 1.0(最大音量)。

已弃用的属性

这些属性已过时,即使浏览器仍然支持它们,也不应使用。

HTMLMediaElement.controller 已弃用 非标准

一个MediaController对象,表示分配给元素的媒体控制器,如果未分配任何控制器,则为null

HTMLMediaElement.mediaGroup 已弃用 非标准

一个字符串,反映mediagroup HTML 属性,该属性指示其所属元素组的名称。一组媒体元素共享一个通用的MediaController

HTMLMediaElement.mozAudioCaptured 只读 非标准 已弃用

返回一个布尔值。与音频流捕获相关。

HTMLMediaElement.mozFragmentEnd 非标准 已弃用

一个double值,如果媒体元素对currentSrc具有片段 URI,则提供对片段结束时间的访问权限,否则它等于媒体时长。

实例方法

此接口还继承了其祖先HTMLElementElementNodeEventTarget的方法。

HTMLMediaElement.addTextTrack()

向媒体元素添加新的TextTrack对象(例如字幕轨道)。这仅是一个编程接口,不会影响 DOM。

HTMLMediaElement.captureStream()

返回MediaStream,捕获媒体内容的流。

HTMLMediaElement.canPlayType()

给定一个指定 MIME 媒体类型(可能包含codecs参数)的字符串,canPlayType()如果媒体应该可以播放,则返回字符串probably;如果信息不足以确定媒体是否可以播放,则返回maybe;如果媒体无法播放,则返回空字符串。

HTMLMediaElement.fastSeek()

快速跳转到给定时间,精度较低。

HTMLMediaElement.load()

将媒体重置到开头,并从使用src属性或<source>元素提供的源中选择最佳可用源。

HTMLMediaElement.pause()

暂停媒体播放。

HTMLMediaElement.play()

开始播放媒体。

HTMLMediaElement.seekToNextFrame() 已弃用 非标准

跳转到媒体中的下一帧。此非标准实验性方法使您可以手动以自定义速度驱动媒体的读取和渲染,或逐帧移动媒体以执行过滤或其他操作。

HTMLMediaElement.setMediaKeys() 安全上下文

返回Promise。设置在播放期间解密媒体时要使用的MediaKeys密钥。

HTMLMediaElement.setSinkId() 安全上下文

设置要用于输出的音频设备的 ID 并返回Promise。这仅在应用程序被授权使用指定的设备时有效。

已弃用的方法

这些方法已过时,即使浏览器仍然支持它们,也不应使用。

HTMLMediaElement.mozCaptureStream() 非标准

HTMLMediaElement.captureStream()的 Firefox 前缀等效项。有关详细信息,请参阅其浏览器兼容性

HTMLMediaElement.mozCaptureStreamUntilEnded() 非标准 已弃用

[输入描述]

HTMLMediaElement.mozGetMetadata() 非标准 已弃用

返回Object,其中包含表示正在播放的媒体资源的元数据的属性,作为{key: value}对。每次调用该方法时都会返回数据的单独副本。此方法必须在loadedmetadata事件触发后调用。

事件

继承其父级HTMLElement的事件.

使用addEventListener()或通过将事件侦听器分配到此接口的oneventname属性来侦听这些事件。

abort

当资源未完全加载但不是由于错误导致时触发。

canplay

当用户代理可以播放媒体,但估计加载的数据不足以播放媒体直到结束,而无需停止进一步缓冲内容时触发。

canplaythrough

当用户代理可以播放媒体,并且估计加载的数据足以播放媒体直到结束,而无需停止进一步缓冲内容时触发。

durationchange

当 duration 属性已更新时触发。

emptied

当媒体变为空时触发;例如,当媒体已加载(或部分加载),并且调用HTMLMediaElement.load()方法重新加载它时触发。

encrypted

在媒体中找到初始化数据时触发,表明它已加密。

ended

当播放停止时触发,例如达到媒体(<audio> 或 <video>)的结尾或由于没有更多可用数据时触发。

error

当资源由于错误而无法加载时触发。

loadeddata

当媒体的第一帧加载完成时触发。

loadedmetadata

当元数据已加载时触发。

loadstart

当浏览器开始加载资源时触发。

pause

当处理暂停播放请求并且活动已进入其暂停状态时触发,最常见的情况是在调用媒体的HTMLMediaElement.pause()方法时触发。

play

paused属性从true更改为false时触发,这是由于HTMLMediaElement.play()方法或autoplay属性导致的。

playing

在由于数据不足而暂停或延迟播放后,准备开始播放时触发。

progress

当浏览器加载资源时定期触发。

ratechange

播放速率更改时触发。

seeked

寻求操作完成后触发。

seeking

寻求操作开始时触发。

stalled

当用户代理尝试获取媒体数据,但意外地没有收到数据时触发。

suspend

媒体数据加载已暂停时触发。

timeupdate

currentTime属性指示的时间已更新时触发。

volumechange

音量更改时触发。

waiting

由于暂时缺少数据而停止播放时触发。

规范

规范
HTML 标准
# htmlmediaelement

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅

参考

指南