Html5 video标签学习

embedded/2025/1/18 8:02:26/

<video> 标签的属性

autoplay布尔属性声明该属性后,视频会尽快自动开始播放,不会停下来等待数据全部加载完成。
controls布尔属性如果存在该属性,浏览器会在视频底部提供一个控制面板,允许用户控制视频的播放。
controlslist枚举属性帮助浏览器选择在控制面板上显示哪些 video 元素控件。允许的值有 nodownloadnofullscreen 和 noremoteplayback
crossorigin枚举属性指明是否使用 CORS 来获取相关视频。允许的值有 anonymous 和 use-credentials
disablepictureinpicture布尔属性防止浏览器显示画中画上下文菜单或在某些情况下自动请求画中画模式。
disableremoteplayback布尔属性禁用远程播放功能,在使用有线和无线技术连接设备时有效。
height数值属性视频显示区域的高度,单位是 CSS 像素(仅限绝对值;不支持百分比)。
loop布尔属性指定后会在视频播放结束的时候,自动返回视频开始的地方,继续播放。
muted布尔属性指明在视频中音频的默认设置。设置后,音频会初始化为静音。默认值是 false
playsinline布尔属性指明视频将内嵌(inline)播放,即在元素的播放区域内。
poster字符串属性海报帧图片 URL,用于在视频处于下载中的状态时显示。
preload枚举属性提示浏览器在播放视频之前,加载哪些内容会达到最佳的用户体验。可能的值有 nonemetadataauto 和 空字符串。
src字符串属性要嵌到页面的视频的 URL。可选;你也可以使用 video 块内的 <source> 元素来指定需要嵌到页面的视频。
width数值属性视频显示区域的宽度,单位是 CSS 像素(仅限绝对值;不支持百分比)。

<video> 元素的支持的事件

audioprocess (已弃用)ScriptProcessorNode 的输入缓冲区已准备好进行处理。
canplay浏览器可以播放媒体,但估计尚未缓冲足够的数据,无法流畅播放至视频结束,期间可能出现停顿以便缓冲更多内容。
canplaythrough浏览器估计它可以不间断地播放到媒体末尾,无需暂停以进行内容缓冲。
complete已终止 OfflineAudioContext 的渲染。
durationchangeduration 属性已更新。
emptied媒体内容已清空;例如,如果媒体已加载(或部分加载)完成,并调用 load() 方法重新加载。
ended视频停止播放,因为媒体已经到达结束点。
error获取媒体数据时出现错误,或者资源的格式不受支持。
loadeddata媒体的首帧已加载完成。
loadedmetadata元数据已加载完毕。
loadstart浏览器开始加载资源时触发。
pause播放已暂停。
play播放已开始。
playing已经在暂停或因数据不足而延迟后准备好进行播放。
progress在浏览器加载资源期间周期性触发。
ratechange播放速率发生变化。
seeked拖动进度(seek)操作完成。
seeking拖动进度操作开始。
stalled用户代理尝试获取媒体数据,但意外地无法获取数据。
suspend媒体数据加载已暂停。
timeupdate由 currentTime 属性指示的播放时间已更新。
volumechange音量发生变化。
waiting由于暂时缺少数据而停止播放。

效果

代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Video Element Demo</title><style>.video-container {max-width: 600px;margin: 0 auto;}video {width: 100%;}</style>
</head><body><div class="video-container"><video id="myVideo" controls autoplay loop muted playsinline poster="http://www.it028.com/compatible_chrome.gif"preload="auto" width="600" height="400"><source src="https://media.w3.org/2010/05/sintel/trailer.mp4" type="video/mp4"><source src="webm" type="video/webm">您的浏览器不支持video标签</video><div id="videoEvents"></div></div><script>const video=document.getElementById('myVideo');const videoEvents=document.getElementById('videoEvents');//用于记录视频事件的Helper函数function logEvent (event) {const log=document.createElement('div');log.textContent=`Event: ${event.type}`;videoEvents.appendChild(log);}// 要侦听的事件列表const events=['play','pause','ended','volumechange','timeupdate','seeked','seeking','loadeddata','loadedmetadata','progress','canplay','canplaythrough','stalled','suspend','waiting'];// 将事件侦听器附加到视频元素events.forEach(event => {video.addEventListener(event,logEvent);});// 更改音量和当前时间的示例video.addEventListener('loadeddata',() => {video.volume=0.5;video.currentTime=10;});</script></body></html>

更多学习

https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/video#%E5%B0%9D%E8%AF%95%E4%B8%80%E4%B8%8B

http://www.it028.com/tag-video.html


http://www.ppmy.cn/embedded/154880.html

相关文章

opencv入门基础

1.3灰度图 运行结果如下&#xff1a; 代码如下&#xff1a; import cv2 img_rgbcv2.imread("./image/cat.jpg",1) img_graycv2.imread("./image/cat.jpg",0) cv2.imshow("rgb",img_rgb) cv2.imshow("gray",img_gray) print("rg…

Asp .Net Core 实现微服务:集成 Ocelot+Nacos+Swagger+Cors实现网关、服务注册、服务发现

什么是 Ocelot ? Ocelot是一个开源的ASP.NET Core微服务网关&#xff0c;它提供了API网关所需的所有功能&#xff0c;如路由、认证、限流、监控等。 Ocelot是一个简单、灵活且功能强大的API网关&#xff0c;它可以与现有的服务集成&#xff0c;并帮助您保护、监控和扩展您的…

【SpringBoot】深度解析 Spring Boot 拦截器:实现统一功能处理的关键路径

前言 ???本期讲解关于拦截器的详细介绍~~~ ??感兴趣的小伙伴看一看小编主页&#xff1a;-CSDN博客 ?? 你的点赞就是小编不断更新的最大动力 ??那么废话不多说直接开整吧~~ 目录 ???1.拦截器 ??1.1拦截器快速入门 1.?定义拦截器 2.配置拦截器 ??1.2拦…

【Docker系列】SpringBoot 项目如何动态指定配置文件

???欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老…

使用Nginx正向代理让内网主机通过外网主机访问互联网

目录 环境概述 流程说明 在外网服务器上安装部署nginx? 安装前准备 下载nginx ?编译安装nginx 开始配置正向代理 创建systemd服务单元文件&#xff0c;用于管理Nginx服务的启动、停止和重新加载 启动nginx ?代理服务器本地验证 ?内网服务器验证 ?将代理地址添…

opencv基础学习

2.3跟踪物体颜色&#xff1a;红色为例 代码如下&#xff1a; import cv2 import numpy as np# 指定摄像头索引&#xff0c;0通常是默认摄像头 cap cv2.VideoCapture(0)while (True):ret, frame cap.read()if not ret:print("Failed to grab frame")breakhsv cv2.…

游戏引擎学习第75天

仓库:https://gitee.com/mrxiao_com/2d_game_2 Blackboard: 处理楼梯通行 为了实现楼梯的平滑过渡和角色的移动控制&#xff0c;需要对楼梯区域的碰撞与玩家的运动方式进行优化。具体的处理方式和遇到的问题如下&#xff1a; 楼梯区域的过渡&#xff1a; 在三维空间中&#x…

深入内核讲明白Android Binder【二】

深入内核讲明白Android Binder【二】 前言一、Binder通信内核源码整体思路概述1. 客户端向服务端发送数据流程概述1.1 binder_ref1.2 binder_node1.3 binder_proc1.4 binder_thread 2. 服务端的binder_node是什么时候被创建的呢&#xff1f;2.1 Binder驱动程序为服务创建binder…