JS 音/视频

HTML5 DOM为<audio>和<video>元素提供了方法、属性和事件。


[ 方法 ]


01. canPlayType() 检测浏览器是否能播放指定的音频或视频类型,返回值为下列之一:

'probable':浏览器最可能支持该类型
'maybe':浏览器也许支持该类型
'':浏览器不支持该类型

02. load()  重新加载音频或视频元素,用于在更改src来源或其他设置后对音频或视频元素进行更新。

03. play()  开始播放音频或视频。

04. pause()  暂停当前播放的音频或视频。


 

[ 属性 ]


所有属性中,只有videoWidth和videoHeight是立即可用的,在音视频的元数据加载后,其他属性才可用。

[1] 只读

01. buffered

02. currentSrc  返回当前音频或视频的URL。

03. ended  返回音频或视频是否已结束。

04. duration  返回当前音频或视频的长度(以秒计),如果未设置则返回NaN。

05. networkState  返回音频或视频当前网络状态。

06. paused  返回音频或视频是否已暂停。

07. played  已播范围是指音频或视频的时间范围。如果用户在音频或视频中跳跃,会获得多个播放范围。

// 首段已播范围的下标是0

08. readyState  返回音频或视频的当前就绪状态。

09. seekable  返回可寻址范围,可寻址范围是指用户在视频或音频中可寻址(移动播放位置)的时间范围。

对于流视频,通常可以寻址到视频中的任何位置,即使其尚未完成缓冲。

10. seeking

[2] 可读写

01. autoplay

02. controls

03. crossOrigin  设置或返回CORS设置。

04. currentTime  设置或返回音频或视频的当前位置(以秒计)。

05. defaultMuted(只有chrome支持)

06. muted

07. defaultPlaybackRate

08. playbackRate

09. loop

10. preload  设置或返回是否在页面加载后立即加载音频或视频。  // 另,当设置autoplay时,该属性无效。

11. src  设置或返回音频或视频的当前来源。

12. volume  设置或返回音频或视频的当前音量。


 

[ 事件 ]


当音频或视频正在加载过程中,会依次发生以下事件:

影响音频或视频数据加载的事件有以下几个:

音频或视频控制按钮发生改变时触发以下事件:

[ audio专有 ]

audio元素在一个原生的JavaScript构造函数Audio,可以在任何时候播放音频。audio和img很像,但audio不用像img那样必须插入到文档中,只要创建一个新实例,并传入音频源文件即可。