HTMLMediaElement
HTMLMediaElement
接口向 HTMLElement
添加了支持音频和视频通用的基本媒体相关功能所需的属性和方法。
HTMLVideoElement
和 HTMLAudioElement
元素都继承了此接口。
实例属性
此接口还继承了其祖先 HTMLElement
、Element
、Node
和 EventTarget
的属性。
HTMLMediaElement.audioTracks
-
一个
AudioTrackList
,其中列出了元素中包含的AudioTrack
对象。 HTMLMediaElement.autoplay
-
一个布尔值,反映了
autoplay
HTML 属性,指示是否应在有足够的媒体可用以无中断播放时自动开始播放。注意:在用户不期望或不希望的情况下自动播放音频是一种糟糕的用户体验,在大多数情况下应避免,尽管存在例外情况。有关更多信息,请参阅 媒体和 Web Audio API 的自动播放指南。请记住,浏览器可能会忽略自动播放请求,因此您应确保您的代码不依赖于自动播放正常工作。
HTMLMediaElement.buffered
只读-
返回一个
TimeRanges
对象,该对象指示浏览器在访问buffered
属性时已缓冲的媒体源范围(如果有)。 HTMLMediaElement.controls
-
一个布尔值,反映了
controls
HTML 属性,指示是否应显示用于控制资源的用户界面项。 HTMLMediaElement.controlsList
只读-
返回一个
DOMTokenList
,该列表帮助用户代理在用户代理显示其自己的控件集时选择要在媒体元素上显示哪些控件。DOMTokenList
采用三个可能值中的一个或多个:nodownload
、nofullscreen
和noremoteplayback
。 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 属性,指示应预加载哪些数据(如果有)。可能的值为:none
、metadata
、auto
。 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,则提供对片段结束时间的访问权限,否则它等于媒体时长。
实例方法
此接口还继承了其祖先HTMLElement
、Element
、Node
和EventTarget
的方法。
HTMLMediaElement.addTextTrack()
-
向媒体元素添加新的
TextTrack
对象(例如字幕轨道)。这仅是一个编程接口,不会影响 DOM。 HTMLMediaElement.captureStream()
-
返回
MediaStream
,捕获媒体内容的流。 HTMLMediaElement.canPlayType()
-
给定一个指定 MIME 媒体类型(可能包含
codecs
参数)的字符串,canPlayType()
如果媒体应该可以播放,则返回字符串probably
;如果信息不足以确定媒体是否可以播放,则返回maybe
;如果媒体无法播放,则返回空字符串。 HTMLMediaElement.fastSeek()
-
快速跳转到给定时间,精度较低。
HTMLMediaElement.load()
HTMLMediaElement.pause()
-
暂停媒体播放。
HTMLMediaElement.play()
-
开始播放媒体。
HTMLMediaElement.seekToNextFrame()
已弃用 非标准-
跳转到媒体中的下一帧。此非标准实验性方法使您可以手动以自定义速度驱动媒体的读取和渲染,或逐帧移动媒体以执行过滤或其他操作。
HTMLMediaElement.setMediaKeys()
安全上下文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 表格仅在浏览器中加载
另请参阅
参考
<video>
和<audio>
HTML 元素HTMLVideoElement
和HTMLAudioElement
接口,派生自HTMLMediaElement