HTML-多媒体标签
除了图像,网页还可以放置视频和音频。
1.<video>
<video>
标签是一个块级元素,用于放置视频。如果浏览器支持加载的视频格式,就会显示一个播放器,否则显示<video>
内部的子元素。
<video src="example.mp4" controls><p>你的浏览器不支持 HTML5 视频,请下载<a href="example.mp4">视频文件</a>。</p>
</video>
上面代码中,如果浏览器不支持该种格式的视频,就会显示<video>
内部的文字提示。
<video>
有以下属性。
src
:视频文件的网址。controls
:播放器是否显示控制栏。该属性是布尔属性,不用赋值,只要写上属性名,就表示打开。如果不想使用浏览器默认的播放器,而想使用自定义播放器,就不要使用该属性。width
:视频播放器的宽度,单位像素。height
:视频播放器的高度,单位像素。autoplay
:视频是否自动播放,该属性为布尔属性。loop
:视频是否循环播放,该属性为布尔属性。muted
:是否默认静音,该属性为布尔属性。poster
:视频播放器的封面图片的 URL。preload
:视频播放之前,是否缓冲视频文件。这个属性仅适合没有设置autoplay
的情况。它有三个值,分别是none
(不缓冲)、metadata
(仅仅缓冲视频文件的元数据)、auto
(可以缓冲整个文件)。playsinline
:iPhone 的 Safari 浏览器播放视频时,会自动全屏,该属性可以禁止这种行为。该属性为布尔属性。crossorigin
:是否采用跨域的方式加载视频。它可以取两个值,分别是anonymous
(跨域请求时,不发送用户凭证,主要是 Cookie),use-credentials
(跨域时发送用户凭证)。currentTime
:指定当前播放位置(双精度浮点数,单位为秒)。如果尚未开始播放,则会从这个属性指定的位置开始播放。duration
:该属性只读,指示时间轴上的持续播放时间(总长度),值为双精度浮点数(单位为秒)。如果是流媒体,没有已知的结束时间,属性值为+Infinity
。
下面是一个例子。
<video width="400" height="400"autoplay loop mutedposter="poster.png">
</video>
上面代码中,视频播放器的大小是 400 x 400,会自动播放和循环播放,并且静音,还带有封面图。这是网站首页背景视频的常见写法。
HTML 标准没有规定浏览器需要支持哪些视频格式,完全由浏览器厂商自己决定。为了避免浏览器不支持视频格式,可以使用<source>
标签,放置同一个视频的多种格式。
<video controls><source src="example.mp4" type="video/mp4"><source src="example.webm" type="video/webm"><p>你的浏览器不支持 HTML5 视频,请下载<a href="example.mp4">视频文件</a>。</p>
</video>
上面代码中,<source>
标签的type
属性的值是视频文件的 MIME 类型,上例指定了两种格式的视频文件:MP4 和 WebM。如果浏览器支持 MP4,就加载 MP4 格式的视频,不再往下执行了。如果不支持 MP4,就检查是否支持 WebM,如果还是不支持,则显示提示。
2.<audio>
<audio>
标签是一个块级元素,用于放置音频,用法与<video>
标签基本一致。
<audio controls><source src="foo.mp3" type="audio/mp3"><source src="foo.ogg" type="audio/ogg"><p>你的浏览器不支持 HTML5 音频,请直接下载<a href="foo.mp3">音频文件</a>。</p>
</audio>
上面代码中,<audio>
标签内部使用<source>
标签,指定了两种音频格式:优先使用 MP3 格式,如果浏览器不支持则使用 Ogg 格式。如果浏览器不能播放音频,则提供下载链接。
<audio>
标签的属性与<video>
标签类似,参见上一节。
autoplay
:是否自动播放,布尔属性。controls
:是否显示播放工具栏,布尔属性。如果不设置,浏览器不显示播放界面,通常用于背景音乐。crossorigin
:是否使用跨域方式请求。loop
:是否循环播放,布尔属性。muted
:是否静音,布尔属性。preload
:音频文件的缓冲设置。src
:音频文件网址。
3.<track>
<track>
标签用于指定视频的字幕,格式是 WebVTT (.vtt
文件),放置在<video>
标签内部。它是一个单独使用的标签,没有结束标签。
<video controls src="sample.mp4"><track label="英文" kind="subtitles" src="subtitles_en.vtt" srclang="en"><track label="中文" kind="subtitles" src="subtitles_cn.vtt" srclang="cn" default>
</video>
上面代码指定视频文件的英文字幕和中文字幕。
<track>
标签有以下属性。
label
:播放器显示的字幕名称,供用户选择。kind
:字幕的类型,默认是subtitles
,表示将原始声音成翻译外国文字,比如英文视频提供中文字幕。另一个常见的值是captions
,表示原始声音的文字描述,通常是视频原始使用的语言,比如英文视频提供英文字幕。src
:vtt 字幕文件的网址。srclang
:字幕的语言,必须是有效的语言代码。default
:是否默认打开,布尔属性。
4.<source>
<source>
标签用于<picture>
、<video>
、<audio>
的内部,用于指定一项外部资源。单标签是单独使用的,没有结束标签。
它有如下属性,具体示例请参见相应的容器标签。
type
:指定外部资源的 MIME 类型。src
:指定源文件,用于<video>
和<audio>
。srcset
:指定不同条件下加载的图像文件,用于<picture>
。media
:指定媒体查询表达式,用于<picture>
。sizes
:指定不同设备的显示大小,用于<picture>
,必须跟srcset
搭配使用。
5.<embed>
<embed>
标签用于嵌入外部内容,这个外部内容通常由浏览器插件负责控制。由于浏览器的默认插件都不一致,很可能不是所有浏览器的用户都能访问这部分内容,建议谨慎使用。
下面是嵌入视频播放器的例子。
<embed type="video/webm"src="/media/examples/flower.mp4"width="250"height="200">
上面代码嵌入的视频,将由浏览器插件负责控制。如果浏览器没有安装 MP4 插件,视频就无法播放。
<embed>
标签具有如下的通用属性。
height
:显示高度,单位为像素,不允许百分比。width
:显示宽度,单位为像素,不允许百分比。src
:嵌入的资源的 URL。type
:嵌入资源的 MIME 类型。
浏览器通过type
属性得到嵌入资源的 MIME 类型,一旦该种类型已经被某个插件注册了,就会启动该插件,负责处理嵌入的资源。
下面是 QuickTime 插件播放 MOV 视频文件的例子。
<embed type="video/quicktime" src="movie.mov" width="640" height="480">
下面是启动 Flash 插件的例子。
<embed src="whoosh.swf" quality="medium"bgcolor="#ffffff" width="550" height="400"name="whoosh" align="middle" allowScriptAccess="sameDomain"allowFullScreen="false" type="application/x-shockwave-flash"pluginspage="http://www.macromedia.com/go/getflashplayer">
上面代码中,如果浏览器没有安装 Flash 插件,就会提示去pluginspage
属性指定的网址下载。
6.<object>
,<param>
<object>
标签作用跟<embed>
相似,也是插入外部资源,由浏览器插件处理。它可以视为<embed>
的替代品,有标准化行为,只限于插入少数几种通用资源,没有历史遗留问题,因此更推荐使用。
下面是插入 PDF 文件的例子。
<object type="application/pdf"data="/media/examples/In-CC0.pdf"width="250"height="200">
</object>
上面代码中,如果浏览器安装了 PDF 插件,就会在网页显示 PDF 浏览窗口。
<object>
具有如下的通用属性。
data
:嵌入的资源的 URL。form
:当前网页中相关联表单的id
属性(如果有的话)。height
:资源的显示高度,单位为像素,不能使用百分比。width
:资源的显示宽度,单位为像素,不能使用百分比。type
:资源的 MIME 类型。typemustmatch
:布尔属性,表示data
属性与type
属性是否必须匹配。
下面是插入 Flash 影片的例子。
<object data="movie.swf"type="application/x-shockwave-flash"></object>
<object>
标签是一个容器元素,内部可以使用<param>
标签,给出插件所需要的运行参数。
<object data="movie.swf" type="application/x-shockwave-flash"><param name="foo" value="bar">
</object>
相关文章:

HTML-多媒体标签
除了图像,网页还可以放置视频和音频。 1.<video> <video>标签是一个块级元素,用于放置视频。如果浏览器支持加载的视频格式,就会显示一个播放器,否则显示<video>内部的子元素。 <video src"example.…...

MySQL笔记大总结20250108
Day2 1.where (1)关系运算符 select * from info where id>1; select * from info where id1; select * from info where id>1; select * from info where id!1;(2)逻辑运算符 select * from info where name"吴佩奇" and age19; select * from info wh…...

stm32week3
stm32学习 二.外设 8.TIM输出比较 OC(output compare)输出比较 输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0、翻转操作,用于输出一定频率和占空比的PWM波形 每个高级定时器和通用定时器都拥有4个输出比较通道 高级定时器的…...

uniapp 的uni.getRecorderManager() 录音功能小记
官网上明确说的是全局唯一并且只是获取对象,所以会导致一个问题就是,当你多个页面要用到这个对象的时候,会发现 onStop 方法会被覆盖,导致调用结果不是自己想要的 解决办法也简单粗暴,在需要用到的界面重新覆盖onStop…...

【面试题】技术场景 4、负责项目时遇到的棘手问题及解决方法
工作经验一年以上程序员必问问题 面试题概述 问题为在负责项目时遇到的棘手问题及解决方法,主要考察开发经验与技术水平,回答不佳会影响面试印象。提供四个回答方向,准备其中一个方向即可。 1、设计模式应用方向 以登录为例,未…...

RT-DETR代码详解(官方pytorch版)——参数配置(1)
前言 RT-DETR虽然是DETR系列,但是它的代码结构和之前的DETR系列代码不一样。 它是通过很多的yaml文件进行参数配置,和之前在train.py的parser argparse.ArgumentParser()去配置所有参数不同,所以刚开始不熟悉代码的时候可能不知道在哪儿修…...

腾讯云AI代码助手编程挑战赛-凯撒密码解码编码器
作品简介 在CTFer选手比赛做crypto的题目时,一些题目需要自己去解密,但是解密的工具大部分在线上,而在比赛过程中大部分又是无网环境,所以根据要求做了这个工具 技术架构 python语言的tk库来完成的GUI页面设计,通过…...

搭建docker私有化仓库Harbor
Docker私有仓库概述 Docker私有仓库介绍 Docker私有仓库是个人、组织或企业内部用于存储和管理Docker镜像的存储库。Docker默认会有一个公共的仓库Docker Hub,而与Docker Hub不同,私有仓库是受限访问的,只有授权用户才能够上传、下载和管理其中的镜像。这种私有仓库可以部…...

【Vim Masterclass 笔记09】S06L22:Vim 核心操作训练之 —— 文本的搜索、查找与替换操作(第一部分)
文章目录 S06L22 Search, Find, and Replace - Part One1 从光标位置起,正向定位到当前行的首个字符 b2 从光标位置起,反向查找某个字符3 重复上一次字符查找操作4 定位到目标字符的前一个字符5 单字符查找与 Vim 命令的组合6 跨行查找某字符串7 Vim 的增…...

GIC中断分组介绍(IMX6ull为例)
一、Cortex-A7内核中断 Cortex-A7内核具有多个中断类型,但其中最重要的是复位中断和IRQ(普通中断请求)中断。对于IMX6ULL而言,主要关注的是IRQ中断,因为外部设备和内部事件通常都会触发这类中断。 从左到右 中断控制…...

计算机网络期末复习(知识点)
概念题 在实际复习之前,可以看一下这个视频将网络知识串一下,以便更好地复习:【你管这破玩意叫网络?】 网络规模的分类 PAN(个人区域网络):用于个人设备间的连接,如手机与蓝牙耳机…...

Apache XMLBeans 一个强大的 XML 数据处理框架
Apache XMLBeans 是一个用于处理 XML 数据的 Java 框架,它提供了一种方式将 XML Schema (XSD) 映射到 Java 类,从而使得开发者可以通过强类型化的 Java 对象来访问和操作 XML 文档。下面将以一个简单的案例说明如何使用 Apache XMLBeans 来解析、生成和验…...

飞凌嵌入式i.MX8M Mini核心板已支持Linux6.1
飞凌嵌入式FETMX8MM-C核心板现已支持Linux6.1系统,此次升级不仅使系统功能更加丰富,还通过全新BSP实现了内存性能的显著提升。 基于NXP i.MX8M Mini处理器设计开发的飞凌嵌入式FETMX8MM-C核心板,拥有4个Cortex-A53高性能核和1个Cortex-M4实时…...

【数据链电台】洛克希德·马丁(Lockheed Martin)
洛克希德马丁公司(Lockheed Martin)是全球领先的航空航天、国防、先进技术和安全领域的供应商之一。 公司为美军及盟国军队提供了广泛的通信系统,包括数据链电台和相关的通信系统。 洛克希德马丁的许多产品用于战术通信、卫星通信、电子战、…...

python关键字(保留字)用法、保留的标识符类(1)
python关键字(保留字)用法、保留的标识符类(1) 一、python保留字(关键字) 1.1、python关键字 以下标识符为保留字,或称 关键字,不可用于普通标识符,即我们不能把它们用作任何标识符名称。 python 保留字(关键字) 关键…...

Ubuntu平台虚拟机软件学习笔记
Ubuntu平台上常见虚拟机软件 VirtualBox [Download]KVM/QEMU 1. VirtualBox 1.1 查看安装版本 VBoxManage -V2. KVM/QEMU KVM: Kernel-based Virtual Machine QEMU: Quick EMUlator 通义千问: virt-manager 既不是QEMU也不是KVM,而是用于管理和创建…...

【数据库系统概论】数据库恢复技术
目录 11.1 事务的基本概念 事务的定义 事务的开始与结束 事务的ACID特性 破坏ACID特性的因素 11.2 数据库恢复概述 11.3 故障的种类 1. 事务内部的故障 2. 系统故障 3. 介质故障 4. 计算机病毒 11.4 恢复的实现技术 如何建立冗余数据 数据转储 登记日志文件 11…...

R 语言科研绘图 --- 折线图-汇总
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。 为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式: R 语言科研绘图模板 --- sciRplothttps://mp.…...

基于 Python 和 OpenCV 的人脸识别上课考勤管理系统
博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…...

工业 4G 路由器赋能远程医疗,守护生命线
在医疗领域,尤其是偏远地区的医疗救治场景中,工业 4G 路由器正发挥着无可替代的关键作用,宛如一条坚韧的 “生命线”,为守护患者健康持续赋能。 偏远地区医疗资源相对匮乏,常常面临着专业医生短缺、诊疗设备有限等困境…...

Windows安装Ubuntu子系统图形化工具
Windows如何使用WSL方式安装Ubuntu,可以参考:https://blog.csdn.net/xiangzhihong8/article/details/145044370。接下来,我们说一下如何安装Ubuntu的图形化系统。 为了测试,这里介绍两种常见的图形化工具。第一种为VcXsrv Gnome…...

MiniMind - 从0训练语言模型
文章目录 一、关于 MiniMind 📌项目包含 二、📌 Environment三、📌 Quick Start Test四、📌 Quick Start Train0、克隆项目代码1、环境安装2、如果你需要自己训练3、测试模型推理效果 五、📌 Data sources1、分词器&am…...

sql正则表达
MySQL中的正则表达式使用REGEXP关键字来指定匹配模式。常见的正则表达式符号包括: .:匹配任意单个字符 ^:匹配字符串的开始位置 $:匹配字符串的结束位置 *:匹配前面的字符或字符集出现零次或多次 :匹配前面…...

基于华为Maas(大模型即服务)和开源的Agent三方框架构建AI聊天助手实践
引言 随着人工智能技术的快速发展,AI聊天助手已经成为企业与用户之间沟通的重要桥梁。为了构建一个高效、智能且易于扩展的AI聊天助手,我们可以利用华为云提供的Maas(Model-as-a-Service,大模型即服务)平台,结合开源的Agent三方框架来实现。本文将详细介绍这一实践过程,…...

微信小程序——创建滑动颜色条
在微信小程序中,你可以使用 slider 组件来创建一个颜色滑动条。以下是一个简单的示例,展示了如何实现一个颜色滑动条,该滑动条会根据滑动位置改变背景颜色。 步骤一:创建小程序项目 首先,使用微信开发者工具创建一个新…...

Qt官方下载地址
1. 最新版本 Qt官方最新版本下载地址:https://www.qt.io/download-qt-installer 当前最新版本Qt6.8.* 如下图: 2. 历史版本 如果你要下载历史版本安装工具或者源码编译方式安装,请转至此链接进行下载:https://download.qt.i…...

网络-ping包分析
-a:使 ping 在收到响应时发出声音(适用于某些操作系统)。-b:允许向广播地址发送 ping。-c count:指定发送的 ping 请求的数量。例如,ping -c 5 google.com 只发送 5 个请求。-i interval:指定两…...

SEO内容优化:如何通过用户需求赢得搜索引擎青睐?
在谷歌SEO优化中,内容一直是最重要的因素之一。但要想让内容真正发挥作用,关键在于满足用户需求,而不是简单地堆砌关键词。谷歌的算法越来越智能化,更注重用户体验和内容的实用性。 了解目标用户的需求。通过工具如Google Trends…...

ubuntu22.04 的录屏软件有哪些?
在Ubuntu 22.04上,有几款适合做视频直播和录屏的软件: 1. OBS Studio (Open Broadcaster Software) 功能:OBS Studio 是最常用的开源直播和录屏软件,支持视频录制、直播流式传输,并且有强大的插件支持,能…...

Opencv查找、绘制轮廓、圆形矩形轮廓和近似轮廓
查找、绘制轮廓、圆形矩形轮廓和近似轮廓 目录 查找、绘制轮廓、圆形矩形轮廓和近似轮廓1 轮廓查找和绘制1.1 轮廓查找1.1.1 函数和参数1.1.2 返回值 1.2 轮廓绘制1.2.1 函数和参数 1.3 步骤1.4 实际测试绘制轮廓 2 绘制近似轮廓2.1 函数和参数2.2 查找特定轮廓2.3 近似轮廓测试…...