video/audio 音频/视频 标签详解

video

  • <video> 标签定义视频,比如电影片段或其他视频流。
  • 可以在 <video> 和 </video> 标签之间放置文本内容,这样不支持 <video> 元素的浏览器就可以显示出该标签的信息。
  • 目前,<video> 元素支持三种视频格式:MP4、WebM、Ogg。
  • HTMLVideoElement 和 HTMLAudioElement 标签都继承于 HTMLMediaElement。
<video src="movie.mp4" type="video/mp4"></video>
<video src="movie.webm" type="video/webm"></video>
<video src="movie.ogg" type="video/ogg">
	您的浏览器不支持video标签。
</video>
<!--继承树-->
HTMLVideoElement->HTMLMediaElement->HTMLElement->Element->Node->EventTarget->Object
HTMLAudioElement->HTMLMediaElement->HTMLElement->Element->Node->EventTarget->Object

<source> 标签为媒介元素(比如 <video> 和 <audio>)定义媒介资源。用于解码器的选择。
<source> 标签允许您规定可替换的视频/音频文件供浏览器根据它对媒体类型或者编解码器的支持进行选择(如果都支持则任选一个)。

<video controls>
	<source src="horse.ogg" type="video/ogg">
	<source src="horse.mp3" type="video/mp4">
	Your browser does not support the video element.
</video> 

<track> 标签为诸如 video /audio 元素之类的媒介规定外部文本轨道。用于规定字幕文件或其他包含文本的文件,当媒介播放时,这些文件是可见的。

属性描述
srcURL必需的。规定轨道文件的 URL。
labeltext规定文本轨道的标签和标题。
defaultdefault规定该轨道是默认的。如果用户没有选择任何轨道,则使用默认轨道。
kindcaptions / chapters / descriptions / metadata / subtitles规定文本轨道的文本类型。
srclanglanguage_code规定轨道文本数据的语言。如果 kind 属性值是 “subtitles”,则该属性是必需的。

kind属性的值:

  • captions,表示该轨道定义将在播放器中显示的简短说明。
  • chapters,表示该轨道定义章节,用于导航媒介资源。
  • descriptions,表示该轨道定义描述,用于通过音频描述媒介的内容,假如内容不可播放或不可见。
  • metadata,指该轨道定义脚本使用的内容。
  • subtitles,该轨道定义字幕,用于在视频中显示字幕。
<video width="320" height="240" controls="controls">
	<source src="forrest_gump.mp4" type="video/mp4" />
	<source src="forrest_gump.ogg" type="video/ogg" />
	<!--加入中文字幕-->
	<track kind="subtitles" src="subs_chi.srt" srclang="zh" label="Chinese">
	<!--加入英文字幕-->
	<track kind="subtitles" src="subs_eng.srt" srclang="en" label="English">
</video>

<video>的属性值:

属性描述
srcurl要播放的视频的 URL。
widthpixels设置视频播放器的宽度。
heightpixels设置视频播放器的高度。
autoplayautoplay如果出现该属性,则视频在就绪后马上播放。
controlscontrols如果出现该属性,则向用户显示控件,比如播放按钮。
looploop如果出现该属性,则当媒介文件完成播放后再次开始播放。
mutedmuted规定视频的音频输出应该被静音。
posterURL规定视频下载时显示的图像,或者在用户点击播放按钮前显示的图像。
preloadpreload如果出现该属性,则视频在页面加载时进行加载,并预备播放。如果使用 “autoplay”,则忽略该属性。

<video>的 script 方法:

方法名称方法描述
play()开始播放音频/视频
pause()暂停当前播放的音频/视频
load()重新加载音频/视频元素
canPlayType()判断浏览器是否能播放指定的音频/视频类型。

canPlayType() 有以下三个返回值:

  • 返回 probably,表示浏览器最可能支持该音频/视频类型;
  • 返回 maybe,表示浏览器也许支持该音频/视频类型;
  • 返回 “”(空字符串),表示浏览器不支持该音频/视频类型;

<video>的 script 属性:

属性名称属性描述
videoWidth视频宽度
videoHeight视频高度
currentSrc返回当前音频/视频的 URL
volume设置或返回音频/视频的音量
autoplay设置或返回是否在加载完成后随即播放音频/视频
paused设置或返回音频/视频是否暂停
duration返回当前音频/视频的长度(以秒计)
currentTime设置或返回音频/视频中的当前播放位置(以秒计)
muted设置或返回音频/视频是否静音
preload设置或返回音频/视频是否应该在页面加载后进行加载
played返回表示音频/视频已播放部分的 TimeRanges 对象
playbackRate设置或返回音频/视频播放的速度
loop设置或返回音频/视频是否应在结束时重新播放
ended返回音频/视频的播放是否已结束
error返回表示音频/视频错误状态的 MediaError 对象
seeking返回用户是否正在音频/视频中进行查找

<video>的 script 事件:

事件名称事件描述
loadstart当浏览器开始查找音频/视频时触发。
durationchange当音频/视频的时长已更改时触发。
loadeddata当浏览器已加载音频/视频的当前帧时触发。
progress当浏览器正在下载音频/视频时
canplay当浏览器可以开始播放音频/视频时触发。
loadedmetadata当浏览器已加载音频/视频的元数据时触发。
play当音频/视频已开始或不再暂停时
pause当音频/视频已暂停时
error当在音频/视频加载期间发生错误时
ended当目前的播放列表已结束时
abort当音频/视频的加载已放弃时
emptied当目前的播放列表为空时
waiting当视频由于需要缓冲下一帧而停止
ratechange当音频/视频的播放速度已更改时触发。
seeked当用户已移动/跳跃到音频/视频中的新位置时触发。
timeupdate当目前的播放位置已更改时触发。
volumechange当音量已更改时触发。

audio

<audio>标签定义声音,比如音乐或其他音频流。

<audio>的 script 属性:

属性描述
src设置或返回音频的 src 属性的值。
autoplay设置或返回是否在就绪(加载完成)后随即播放音频。
paused设置或返回音频是否暂停。
muted设置或返回是否关闭声音。
defaultMuted设置或返回音频默认是否静音。
ended返回音频的播放是否已结束。
controls设置或返回音频是否应该显示控件(比如播放/暂停等)。
controller返回表示音频当前媒体控制器的 MediaController 对象。
volume设置或返回音频的音量。
currentSrc返回当前音频的 URL。
duration返回音频的长度(以秒计)。
currentTime设置或返回音频中的当前播放位置(以秒计)。
readyState返回音频当前的就绪状态。
preload设置或返回音频的 preload 属性的值。
playbackRate设置或返回音频播放的速度。
defaultPlaybackRate设置或返回音频的默认播放速度。
loop设置或返回音频是否应在结束时再次播放。
mediaGroup设置或返回音频所属媒介组合的名称。
networkState返回音频的当前网络状态。
seeking返回用户当前是否正在音频中进行查找。
played返回表示音频已播放部分的 TimeRanges 对象。
buffered返回表示音频已缓冲部分的 TimeRanges 对象。
audioTracks返回表示可用音频轨道的 AudioTrackList 对象。
error返回表示音频错误状态的 MediaError 对象。
seekable返回表示音频可寻址部分的 TimeRanges 对象。
textTracks返回表示可用文本轨道的 TextTrackList 对象。
crossOrigin设置或返回音频的 CORS 设置。

<audio>的 script 方法:

属性描述
load()重新加载音频元素。
play()开始播放音频。
pause()暂停当前播放的音频。
addTextTrack()向音频添加新的文本轨道。
canPlayType()检查浏览器是否能够播放指定的音频类型。
fastSeek()在音频播放器中指定播放时间。
getStartDate()返回新的 Date 对象,表示当前时间线偏移量。

<audio>的 script 事件:

属性描述
play播放事件,可判断歌曲是否正在播放中
pause暂停事件,判断歌曲是否暂停

另外,loadstart,durationchange,loadeddata,progress,canplay,canplaythrough。(这些事件在加载过程中是按以上顺序触发的)。
以上这些事件可以通过事件监听对其做相应处理。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值