在html5之前的版本中如果想要在网页中插入音频和视频必须要安装插件才可以,比如最常见的flash插件。很多人在刚安装一款浏览器的时候都会遇到浏览器建议安装flash插件,在移动端也是如此。如果想要在手机上面看视频必须要安装flash插件,但是手机本身内存就很小这样无疑增加了手机处理器德尔压力所以苹果公司在2007年之后宣城自己的任何设备将不再支持flash插件,不就安卓也紧随其后,那么取而代之的就是用html标签。
在html中插入视频标签
<video src=‘movie.webm‘></video>
voedo标签是双标签,跟所有html标签一样有很多属性,src就是最基本的属性表示引入的视频地址,示例中视频地址格式为webm,那么html支持哪些视频格式呢?
- Ogg =带有Theora视频编码+Vorbis音频编码的Ogg文件 支持的浏览器:F、C、O
- MEPG4=带有H.264视频编码+AAC音频编码的MPEG4文件 支持的浏览器: S、C
- WebM=带有VP8视频编码+Vorbis音频编码的WebM格式 支持的浏览器: I、F、C、O
看来哪种浏览器支持哪种格式都不是统一的,我们要写一个让所有支持html5标签的浏览器都正常显示的代码需要借助其一个子标签source 将示例补充如下
<video> <source src="movie.webm" type="video/webm" > <source src="movie.ogg" type="video/ogg" > <source src="movie.mp4" type="video/mp4" > </video>
这样写就好了,放三个不同格式的视频在一起这样所有的所有支持html5的浏览就会从第一个开始找直到发现自己认识的格式,但是这样也仅仅是针对支持html5的浏览器那对于ie9以下不支持的浏览器会显示空白,所以我们也要有所提示告诉用户这个地方是一个视频标签
<video> <source src="movie.webm" type="video/webm" > <source src="movie.ogg" type="video/ogg" > <source src="movie.mp4" type="video/mp4" > 您的浏览器版本过低不能支持html5视频标签 </video>
这样就会在不支持html5video标签的浏览器中显示这一句话,提醒用户更换浏览器或者升级浏览器。
在video标签可以正常显示时候就该考虑它的更多复杂的用法了,下面是其他属性:
属性 |
值 | 描述 |
Autoplay | Autoplay | 视频就绪自动播放 |
controls | controls | 向用户显示播放控件 |
Width | Pixels(像素) | 设置播放器宽度 |
Height | Pixels(像素) | 设置播放器高度 |
Loop | Loop | 播放完是否继续播放该视频,循环播放 |
Preload | Proload | 是否等加载完再播放 |
Src | url | 视频url地址 |
Poster | Imgurl | 加载等待的画面图片 |
Autobuffer | Autobuffer | 设置为浏览器缓冲方式,不设置autoply才有效 |
在html5中是包含API的,所以video标签在javascript中也有很多属性和方法的API提供下面是详细:
方法 | 描述 |
---|---|
addTextTrack() | 向音频/视频添加新的文本轨道 |
canPlayType() | 检测浏览器是否能播放指定的音频/视频类型 |
load() | 重新加载音频/视频元素 |
play() | 开始播放音频/视频 |
pause() | 暂停当前播放的音频/视频 |
属性 | 描述 |
---|---|
audioTracks | 返回表示可用音轨的 AudioTrackList 对象 |
autoplay | 设置或返回是否在加载完成后随即播放音频/视频 |
buffered | 返回表示音频/视频已缓冲部分的 TimeRanges 对象 |
controller | 返回表示音频/视频当前媒体控制器的 MediaController 对象 |
controls | 设置或返回音频/视频是否显示控件(比如播放/暂停等) |
crossOrigin | 设置或返回音频/视频的 CORS 设置 |
currentSrc | 返回当前音频/视频的 URL |
currentTime | 设置或返回音频/视频中的当前播放位置(以秒计) |
defaultMuted | 设置或返回音频/视频默认是否静音 |
defaultPlaybackRate | 设置或返回音频/视频的默认播放速度 |
duration | 返回当前音频/视频的长度(以秒计) |
ended | 返回音频/视频的播放是否已结束 |
error | 返回表示音频/视频错误状态的 MediaError 对象 |
loop | 设置或返回音频/视频是否应在结束时重新播放 |
mediaGroup | 设置或返回音频/视频所属的组合(用于连接多个音频/视频元素) |
muted | 设置或返回音频/视频是否静音 |
networkState | 返回音频/视频的当前网络状态 |
paused | 设置或返回音频/视频是否暂停 |
playbackRate | 设置或返回音频/视频播放的速度 |
played | 返回表示音频/视频已播放部分的 TimeRanges 对象 |
preload | 设置或返回音频/视频是否应该在页面加载后进行加载 |
readyState | 返回音频/视频当前的就绪状态 |
seekable | 返回表示音频/视频可寻址部分的 TimeRanges 对象 |
seeking | 返回用户是否正在音频/视频中进行查找 |
src | 设置或返回音频/视频元素的当前来源 |
startDate | 返回表示当前时间偏移的 Date 对象 |
textTracks | 返回表示可用文本轨道的 TextTrackList 对象 |
videoTracks | 返回表示可用视频轨道的 VideoTrackList 对象 |
volume | 设置或返回音频/视频的音量 |
事件 | 描述 |
---|---|
abort | 当音频/视频的加载已放弃时 |
canplay | 当浏览器可以播放音频/视频时 |
canplaythrough | 当浏览器可在不因缓冲而停顿的情况下进行播放时 |
durationchange | 当音频/视频的时长已更改时 |
emptied | 当目前的播放列表为空时 |
ended | 当目前的播放列表已结束时 |
error | 当在音频/视频加载期间发生错误时 |
loadeddata | 当浏览器已加载音频/视频的当前帧时 |
loadedmetadata | 当浏览器已加载音频/视频的元数据时 |
loadstart | 当浏览器开始查找音频/视频时 |
pause | 当音频/视频已暂停时 |
play | 当音频/视频已开始或不再暂停时 |
playing | 当音频/视频在已因缓冲而暂停或停止后已就绪时 |
progress | 当浏览器正在下载音频/视频时 |
ratechange | 当音频/视频的播放速度已更改时 |
seeked | 当用户已移动/跳跃到音频/视频中的新位置时 |
seeking | 当用户开始移动/跳跃到音频/视频中的新位置时 |
stalled | 当浏览器尝试获取媒体数据,但数据不可用时 |
suspend | 当浏览器刻意不获取媒体数据时 |
timeupdate | 当目前的播放位置已更改时 |
volumechange | 当音量已更改时 |
waiting | 当视频由于需要缓冲下一帧而停止 |
时间: 2024-10-01 03:23:44