【HTML】讲讲HTML5视频播放的方式

2023-11-09

【HTML】讲讲HTML5视频播放的方式

引言

github:【HTML】讲讲HTML5视频播放的方式

内容速递:看了本文您能了解到的知识!

HTML5视频

想要网页播放视频再也不需要使用插件了,HTML本身就支持,而且更加稳定!

上节讲了HTML5的音频播放,和音频播放一样,需要借助flash才能在网页上使用视频。随着HTML5出来以后,就不需要借助flash了,本身可以通过video标签支持。

1、HTML5视频的播放方式

HTML5视频的播放方式.drawio

在 HTML 中播放视频并不容易!准确的来说是想要做好兼容并不容易!

1.1、embed方式

embed定义一个外部的容器,用来装放MP4等视频文件。

例如

<embed src="movie.swf" height="200" width="200"/>

缺陷

  • embed标签在 HTML 4 中是无效的,因为它是HTML5新出的标签
  • 依赖浏览器的支持
  • 如果浏览器不支持 Flash,那么视频将无法播放

1.2、obejct方式

obejct也可以定义一个外部的容器,用来装放MP4等视频文件。

例如

<object data="movie.swf" height="200" width="200"/>

缺陷

  • 依赖浏览器的支持
  • 依赖插件的安装
  • 如果浏览器不支持 Flash,那么视频将无法播放

1.3、video方式

video标签是HTML5专门为视频出的一个标签。推荐使用!

<video src="horse.mp4" controls></video>

效果

image-20220207215114260

缺陷

  • video标签在 HTML 4 中是无效的,因为它是HTML5新出的标签

  • 依赖浏览器的支持

2、最好的解决方案

上面讲了三种使用视频的方式,可以将一些结合起来使用。

示例

<video width="320" height="240" controls="controls">
  <source src="movie.mp4" type="video/mp4" />
  <source src="movie.ogg" type="video/ogg" />
  <source src="movie.webm" type="video/webm" />
  <object data="movie.mp4" width="320" height="240">
    <embed src="movie.swf" width="320" height="240" />
  </object>
</video>

讲解

看到以上使用了 4 种不同的视频格式,这样做的好处video元素会尝试播放以 mp4、ogg 或 webm 格式中的一种来播放视频。如果均失败,则回退到 embed>元素。

效果

显示的效果基本与video一致!

image-20220207215114260

3、视频格式

video 元素支持三种视频格式: MP4, WebM, 和 Ogg

格式 MIME-type
MP4 video/mp4
WebM video/webm
Ogg video/ogg

4、video标签

4.1、video的属性

一些常用的video属性,全局属性在这里就没有列出来来了。更多请到w3school查阅。

属性 描述
autoplay 设置或返回是否在加载完成后随即播放音频/视频
controls 设置或返回音频/视频是否显示控件(比如播放/暂停等)
loop 设置或返回音频/视频是否应在结束时重新播放
muted 设置或返回音频/视频是否静音
preload 设置或返回音频/视频是否应该在页面加载后进行加载
src 设置或返回音频/视频元素的当前来源

4.2、video的事件

事件这是我们用来跟音频发生交互的重要武器。

同样的只给出部分事件,更多请到w3school查阅。

事件 描述
pause 当音频/视频已暂停时
play 当音频/视频已开始或不再暂停时
playing 当音频/视频在已因缓冲而暂停或停止后已就绪时
canplay 当浏览器可以播放音频/视频时
timeupdate 当目前的播放位置已更改时

5、来一个视频播放器的案例

讲了那么多,不就是等一个案例吗,来!

码上!

<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1 user-scalable=0" />
    <title>video视频demo</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        body {
            -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
            font-family: "微软雅黑"
        }

        h1 {
            width: 100%;
            font-size: 1.5em;
            text-align: center;
            line-height: 3em;
            color: #33942a;
        }

        #video {
            margin: 20px 0;
            width: 100%;
            height: 200px;
        }
       
    </style>

</head>

<body>

    <h1>video视频播放demo</h1>

    <video id="video" controls src="https://www.runoob.com/try/demo_source/movie.mp4"></video>

</body>

</html>

效果

image-20220207221322200

6、总结

视频播放的案例也走不掉的。本文主要是理论知识的讲解。

重构前端知识体系,你要一起吗?

系列好文

HTML历史:【HTML】你还会来看HTML吗?带你重温亦或走进

HTML标签:【HTML】带你重忆HTML那些记忆模糊的标签

HTML视频:【HTML】讲讲HTML5视频播放的方式

HTML音频:【HTML】HTML5给网页音频带来的变化

HTML语义化:【HTML】讲讲对HTML5的语义化的理解

HTML定位:【HTML】HTML5的新特性Geolocation

HTML拖放:【HTML】HTML5的拖放你用了吗

HTML缓存:【HTML】不来看看HTML5的WebStorage吗

HTML应用缓存:【HTML】HTML5的应用程序缓存

HTML的Web Werkors:【HTML】HTML5的Web Werkors

博客说明与致谢

文章所涉及的部分资料来自互联网整理,其中包含自己个人的总结和看法,分享的目的在于共建社区和巩固自己。

引用的资料如有侵权,请联系本人删除!

感谢万能的网络,W3C,菜鸟教程等!

感谢勤劳的自己个人博客GitHub学习GitHub

公众号【归子莫】,小程序【子莫说】

如果你感觉对你有帮助的话,不妨给我点赞鼓励一下,好文记得收藏哟!关注我一起成长!

幸好我在,感谢你来!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【HTML】讲讲HTML5视频播放的方式 的相关文章

  • 如何根据另一个下拉列表中的选择动态填充下拉列表中的选项?

    我有一个表 其中包含类别信息 例如产品 我已将它们列在下拉菜单中 现在 我需要做的是 在下一个下拉菜单中列出所选类别的子类别 我希望 javascript 是必需的 但我对 javascript 还不太熟悉 将非常感谢您的帮助 你应该使用
  • 在javascript中创建图像的缩略图方块(不丢失纵横比)

    我正在制作一个客户端拖放文件上传脚本作为书签 在上传之前 我使用 File API 将图像读取为 base64 格式并将其显示为缩略图 This is how my thumbnails look like I want them to l
  • 区分 NaN 输入和输入类型为“number”的空输入

    我想使用 type number 的表单输入 并且只允许输入数字
  • HTML 表格 - 固定列宽和多个可变列宽

    我必须建立一个有 5 列的表 表格宽度是可变的 内容宽度的 50 有些列包含固定大小的按钮 因此这些列应该有一个固定大小 例如 100px 有些列中有文本 所以我希望这些列具有可变的列宽 例如 Column1 tablewidth sum
  • rvest 和 NHL 统计数据的 CSS 选择器问题

    我想从 hockey reference com 中抓取数据 特别是从以下链接中抓取数据 https www hockey reference com leagues NHL 1991 html https www hockey refer
  • 防止 HTML 中 A 元素(锚链接)上的制表符停止

    是否可以取消 a href 避免在任何浏览器中被制表符阻止 我想在没有 JavaScript 的情况下做到这一点 一些浏览器支持tabindex 1 属性 但不是全部 因为这不是标准行为 a
  • 如何防止 iframe 中的链接在新选项卡中打开

    我为我制作的基于网络的操作系统制作了一个基于网络的小型网络浏览器 我注意到在某些网站中 它们有喜欢在新选项卡中打开的链接 有没有办法可以防止这种情况并在 iframe 中打开链接 这是我的整个浏览器的代码 以防万一
  • HTML 分页

    有没有html分页的开源项目 我正在为 iPhone 开发一个应用程序 我想在 UIWebView 上显示 HTML 文件 并且不希望用户向下滚动以查看屏幕上未显示的剩余内容 我想在第二个 UIWebView 上显示剩余的内容 我怎样才能做
  • 如何在 PHPStorm 中禁用 html 标签完成

    当我在 HTML 其他上下文中并输入时foobar然后按Tab键它会自动变成
  • 自动调整Google网站嵌入代码的高度(html)

    我正在使用 Google 协作平台嵌入 HTML 代码 将代码粘贴到 从网络嵌入 窗口中 输出的长度是可变的 我希望有一种方法可以动态调整父级的高度iframeGoogle 协作平台用于托管我的 HTML 我知道我可以使用 Google 协
  • 使用 javascript 更改 div 颜色

    div style height 20px width 100 background color 000000 div br
  • HTML 属性不带引号?

    我一直认为html的属性中需要引号 div class service definition or div class service definition 但最近我注意到 w3 验证器不会将以下内容识别为错误 div class serv
  • 如何仅在 css/html 中强制在单词之间换行?

    我只有一段普通的文本 p 标签内的 p div 标签 但只有 Firefox 可以正确显示 Firefox 打破了单词之间的界限 所有其他浏览器都会在单词中间断行 这使得阅读变得困难 这是我的意思的一个例子 火狐浏览器 工作中 This w
  • 同页锚链接到部分 id 在 IE8 中不起作用

    我有一个带有导航的单页 HTML5 网站 可以将用户引导至该部分 在除 IE8 之外的所有浏览器中都可以正常工作 IE8 不执行任何操作 我所拥有的虚拟版本 a href about About a a href work Work a a
  • ToggleClass 动画 jQuery?

    我的网站上有一个部分 当用户单击时我希望它展开 我正在使用 jQuerytoggleClass为了这 expandable function e e preventDefault this closest article toggleCla
  • 为什么将 x 和 y 设置为 0 时 svg 文本会消失?

    我刚刚开始阅读有关svg我提出了以下问题 我正在创建一个简单的svg with a text里面如下图所示 从我的阅读中我了解到x and y of the text标签声明文本在标签内的位置svg space 为什么当我同时设置x and
  • 如何在php中使用preg添加html属性

    我正在寻找在 php 中编写一个脚本来扫描 html 文档并根据它找到的内容向元素添加新标记 更具体地说 我是扫描文档并为每个元素搜索CSS标记 float right left 如果找到它 它会添加align right left 基于它
  • 引导行之间的垂直间距

    所以我正在研究布局 为了 响应能力 我决定使用 Bootstrap 现在我猜网格系统有问题 我想要的结果如下 1 4 2
  • Knockout.js 安全绑定

    我想使用带有淘汰赛的安全绑定 为此我使用敲除安全绑定 js https github com brianmhunt knockout secure binding 谁能解释一下为什么下面的代码不起作用 它会抛出一个错误 未捕获 淘汰 安全
  • HTML 输入 - 名称与 ID [重复]

    这个问题在这里已经有答案了 使用 HTML 时

随机推荐

  • Ubuntu搭建Pytorch环境(Anaconda、Cuda、cuDNN、Pytorch、Python、Pycharm、Jupyter)

    Ubuntu搭建Pytorch环境 Anaconda Cuda cuDNN Pytorch Python Pycharm Jupyter 一 配置镜像源 安装必要环境 二 Anaconda的下载 安装 卸载及环境配置 1 下载Anacond
  • SpringBoot框架

    目录 1 1 简介 1 2 特性 1 3 四大核心 2 springboot入门案例 2 1 SpringBoot 项目开发步骤 2 2 创建一个 Spring MVC 的 Spring BootController 2 3 分析 2 4
  • 如何从0到1做一次完整的安全测试

    大家好 我是馨馨 一个混过大厂 待过创业公司 有着6年工作经验的软件测试妹纸一枚 近期针对公司项目做了一次完整的安全测试 扫描出来了不少漏洞 价值还挺大的 回顾整个流程 并没有特别复杂的点 小林星球这里程序员还挺多 想着分享下我的实战感悟
  • python -图例设置

    1 使用方法 方法1 ax legend line1 line2 line3 label1 label2 label3 方法2 line1 ax plot 1 2 3 label label1 line2 ax plot 1 2 3 lab
  • swift4.0 项目中的随机校验码(验证码)

    在开发中注册的时候移动端要求我们获取随机校码 完整代码 class CodeView UIView var changeString String 验证码的字符串 let kLineCount 6 let kLineWidth CGFloa
  • Anaconda入门基本操作

    文章目录 1 配置环境变量 2 基础操作 2 1 activate 2 2 创建自己的虚拟环境 2 3 切换环境 3 安装 卸载第三方包 4 查看环境包信息 5 导入导出环境 6 删除环境 慎用 7 总结当前命令 1 配置环境变量 如果是w
  • 数据仓库实施

    文章目录 一 数据分析挖掘过程 1 数据获取 2 数据处理 3 数据建模 4 模型评价 5 数据可视化 二 ETL过程 1 数据特征 2 过程描述 3 ETL 1 数据抽取 2 数据清洗 3 数据转换 4 数据加载和索引 4 kettle
  • git项目管理,这些就够了

    环境 ubuntu16 04 参考 https baijiahao baidu com s id 1621620608602705821 wfr spider for pc https www cnblogs com Sharley p 6
  • 关于前端在一个选择框中选择多个内容的操作

    直接上效果图 以上效果为 可选择多个内容放在框里 再作相应操作将内容传给后端 一 在html的body的form表单下码一个div
  • qt usb热插拔,windows版本,环境qt5.12.9和win10

    写文章的目的 自己要做windows上的usb通信 但是找遍全网都没找到完整的 虽然有热插拔相关的 但是热插拔的监测不够全面 基本都是只能监测部分的插拔 并且大家都推荐使用libusb库 但是使用了一下该库 哎哟我去 暂时还不支持windo
  • linux中shell的小括号、大括号的用法区别

    Linux中小括号 和大括号 都是对其中的一串命令进行执行 但有一定的区别 其区别如下 1 小括号 命令组 括号中的命令新开一个子shell程序 括号中的变量为本地变量 不能够在脚本其他部分使用 括号中多个命令之间用分号隔开 备注 在括号中
  • ffmpeg推流命令

    ffmpeg re i xxx mp4 vcodec copy acodec copy f flv y rtmpurl re 按照帧率发送 如果不加 手册里说的是发送as fast as possible i 输入 vcodec copy
  • 100天精通Python(进阶篇)——第42天:pdfplumber读取pdf(基础+代码实战写入Excel)

    文章目录 一 Python操作PDF 13大库对比 二 pdfplumber模块 1 安装 2 加载PDF 3 pdfplumber PDF类 4 pdfplumber Page类 三 实战操作 1 提取单个PDF全部页数 2 批量提取多个
  • LeetCode:217(Python)—— 存在重复元素(简单)

    存在重复元素 概述 给你一个整数数组 nums 如果任一值在数组中出现 至少两次 返回 true 如果数组中每个元素互不相同 返回 false 输入 nums 1 2 3 1 输出 true 输入 nums 1 2 3 4 输出 false
  • JS面试题

    1 es6新特性 let和const关键字 箭头函数 多行字符串 解构赋值 Promises let声明变量和const声明常量 变量不能重复声明 都是块级作用域 不存在变量提升 箭头函数 es6提供了简洁的箭头函数语法 可以更简单的定义函
  • python与爬虫的关系_python为什么叫爬虫?有什么关系?

    今天 小编听到有人问 Python为什么叫爬虫 我想很多人对于这个问题都很好奇 甚至对于Python和爬虫的概念模糊 今天小编通过这篇文章为大家详细解答一下 Python与爬虫有什么关系 爬虫一般是指网络资源的抓取 因为Python的脚本特
  • 误删li64.so.6,如何恢复

    遇到下面这种情况 误删li64 so 6还原方案 第一步 先关掉虚拟机 右键找到电源后选择打开电源时进入固件 进入Boot界面 第二步 使用shift 将光盘启动优先 然后切至exit保存退出 第三步 来到重启界面后 选择Troublesh
  • 微信小程序的五种传值方式

    1 使用全局变量传递数据 利用app js 中的 globalData 将数据存储为全局变量 在需要使用的页面通过getApp globalData获取数据 app js App globalData data name demo 使用组件
  • < Linux >:Linux 进程概念 (4)

    目录 五 孤儿进程 六 进程优先级 6 1 基本概念 6 2 查看时实系统进程 6 3 PRI and NI 七 其他概念 四 X 状态 死亡状态 对应于各个操作系统下的进程状态中的进程终止 退出 态 所谓进程处于 X 状态 死亡状态 代表
  • 【HTML】讲讲HTML5视频播放的方式

    HTML 讲讲HTML5视频播放的方式 引言 github HTML 讲讲HTML5视频播放的方式 内容速递 看了本文您能了解到的知识 想要网页播放视频再也不需要使用插件了 HTML本身就支持 而且更加稳定 上节讲了HTML5的音频播放 和