HTML插入视频和音频(详解)

📍文章目录📍

  • 🧀一,简介
  • 🧀二,视频(video)
    • 🍧1,普通的视频插入
    • 🍧2,在html5中嵌入视频网站视频
  • 🧀三,音频(audio)

🧀一,简介

  HTML5未出来之前,在线的音频和视频都是借助Flash或者第三方工具实现的,现在HTML5也支持了这方面的功能。在一个支持HTML5的浏览器中,不需要安装任何插件就能播放音频和视频。原生的支持音频和视频,为HTML5注入了巨大的发展潜力。

  html实现音频嵌入(传统方式):这种方式虽然可以实现,但是要浏览器支持Flash而且并不能实现控制,所以要实现起来很麻烦。

<!--传统的视频插入方式-->
<object data="视频地址" ></object>

<embed src="视频地址" type="">

那么也就是说HTML5存在一个很大的问题就是兼容性。

:

🧀二,视频(video)

  HTML5在不适用插件的情况,也可以原生的支持视频格式文件的播放,当然支持格是有限的。

  在网页中如果看原网页的话,可以发现很多时候引入的视频文件有好几个格式,因为兼容问题,不同的浏览器支持不同的格式而已,目前只支持三个格式,MP4,WebM,Ogg。浏览器支持的格式:

浏览器MP4WebMOgg
IEYESNONO
ChromeYESYESYES
FirefoxYESYESYES
SafariYESNONO
OperaYESYESYES

所以为了兼容性更好,一般都使用 mp4 格式。

:

🍧1,普通的视频插入

具体格式:

<video src="视频地址" controls="controls"></video>

但是为了兼容有些浏览器不兼容,不支持video标签如下写:

<video width='320' height='240' controls="controls">
    <source src="视频地址" type="type/mp4">
    <source src="视频地址" type="type/ogg">
</video>

video的属性值:

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

:

  • 如果只是单独的引入资源,虽然引入但是没有播放效果。
<video src="video/林俊杰%20-%20不潮不用花钱.mp4">
    林俊杰,不潮不用花钱MV
</video>

在这里插入图片描述

:

<video src="video/林俊杰%20-%20不潮不用花钱.mp4" controls="controls">
    林俊杰,不潮不用花钱MV
</video>

在这里插入图片描述

  • 有些网页中的视频一打开就自动部分,可以添加controls,muted属性实现自动播放

<video src="video/林俊杰%20-%20不潮不用花钱.mp4" 
controls="controls" autoplay="autoplay" muted="muted">
    曲婉婷,我的歌声里MV
    
</video>
  • 还有很多产品网页视频在不停的循环播放,那个就需要loop属性了。

<video src="video/林俊杰%20-%20不潮不用花钱.mp4" 
controls="controls" autoplay="autoplay" muted="muted" loop="loop">
  曲婉婷,我的歌声里MV
</video>

  • 还有一个属性,那就是网速不够好,加载视频需要时间,如果单独看一个加载界面很难,所以就需要一个等待图片。

<video src="video/林俊杰%20-%20不潮不用花钱.mp4"
       controls="controls" autoplay="autoplay" muted="muted" loop="loop"
       poster="图片地址">
     曲婉婷,我的歌声里MV
     
</video>

以上有video的属性值表,诺有不明白的地方可以看属性描述

:

🍧2,在html5中嵌入视频网站视频

  比起运用“video”元素播放本地视频,直接嵌入视频网站的视频是一种既帅气又酷炫的方式。之前一直找不到正确方法把视频网站的视频嵌入html5,后来偶然解锁了嵌入视频的标准姿势,简单到比你想象的还简单,甚至不用写代码。

  下面是正文,这里以bilibili和YouTube(需要科学上网)为例

:

第一步:
访问bilibili,然后随便找一个视频,将鼠标悬停在“分享”上

在这里插入图片描述


第二步:
在“嵌入代码”一栏点击“复制”,然后打开html文件,把代码复制进去,
记住要在视频地址前加上"https:"然后手动添加“width"和"height"特性

在这里插入图片描述


<iframe src="//player.bilibili.com/player.html?aid=366435053&bvid=BV1u94y1n72F&cid=1344766911&p=1"
        width="100%" height="500" scrolling="no" border="0" frameborder="no"
        allowfullscreen="true">
        
</iframe>

:

使用youtube的嵌入方式,先找一个youtube视频,然后照例点击分享,再点击嵌入

然后把代码粘贴到html文件中,YouTube的嵌入代码不需要做任何修改,如果嫌太小,修改一下"width"和"height"特性的值就可以了。

这里起始于BiLiBiLi 的嵌入方式,并无太大差别,照做即可实现


  网络上流传的"bilibili视频需要找‘aid’和‘cid’“还有什么YouTube视频要借助"YouTube API"其实完全没必要。以上所说的方法完全不涉及编程知识,相当傻瓜,省时省力。
  国产其他视频平台的嵌入方法也大同小异,类似"优酷”,"爱奇艺"也都支持类似的代码嵌入,只不过现在bilibili在一定程度上已经战胜了其他平台,更多的网站也选择使用bilibili。而在国外,这种YouTube视频嵌入法也被诸多公司的网站采用,可以说范围相当广泛了。

:

🧀三,音频(audio)

音频也是支持三种格式:mp4,Wav,Ogg.

当然也有支持:

浏览器MP3WavOgg
IEYESNONO
ChromeYESYESYES
FirefoxYESYESYES
SafariYESYESNO
OperaYESYESYES

所以一般的时候音频文件都使用mp3.

格式:


<audio src="音频地址" controls="controls"></audio>

当然为了兼容低版本可以如下写:


<audio width='320' height='240' controls>
	<source src="音频地址" type="type/mp3">
    <source src="音频地址" type="type/ogg">
</audio>


当然也有其属性:

属性描述
autoplayautoplay如果出现该属性,则音频在就绪后马上播放。
controlscontrols如果出现该属性,则向用户显示控件,比如播放按钮。
looploop如果出现该属性,则每当音频结束时重新开始播放。
mutedmuted规定视频输出应该被静音。
preloadauto:预先加载视频。none:不应加载视频如果出现该属性,则音频在页面加载时进行加载,并预备播放。如果使用 “autoplay”,则忽略该属性。
srcurl要播放的音频的 URL。

因两者使用很类似,就不在演示了。
:

需要注意一下:

  • 谷歌浏览器把音频和视频的自动播放禁止了,所以视频需要添加muted属性。但是音频不能通过muted控制,需要js进行控制。
  • 一般网页中视频经常设置为自动播放,所以不适用controls,当然如果有需要也是通过js来实现,毕竟为了显示的ui统一。

:
OK

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/242858.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

50mA、24V、超低 IQ、低压降稳压器

一、Description The TPS715 low-dropout (LDO) voltage regulators offer the benefits of high input voltage, low-dropout voltage, low-power operation, and miniaturized packaging. The devices, which operate over an input range of 2.5 V to 24 V, are stable wit…

Wordle 游戏实现 - 使用 C++ Qt

标题&#xff1a;Wordle 游戏实现 - 使用 C Qt 摘要&#xff1a; Wordle 是一款文字猜词游戏&#xff0c;玩家需要根据给定的单词猜出正确的答案&#xff0c;并在限定的次数内完成。本文介绍了使用 C 和 Qt 框架实现 Wordle 游戏的基本思路和部分代码示例。 引言&#xff1a;…

jmeter简单压测kafka

前言 这也是一个笔记&#xff0c;就是计划用jmeter做性能测试&#xff0c;但是这里是只要将数据放到kafka的topic里&#xff0c;后面查看下游业务处理能力。 一、方案 因为只要实现数据放到kafka&#xff0c;参考了下博友的方案&#xff0c;可行。 二、方案验证 详细过程就不…

CNN 卷积神经网络之 DenseNet 网络的分类统一项目(包含自定义数据集的获取)

1. DenseNet 网络介绍 本章实现的项目是DenseNet 网络对花数据集的五分类&#xff0c;下载链接&#xff1a; 基于迁移学习的 DenseNet 图像分类项目 DenseNet 网络是在 ResNet 网络上的改进&#xff0c;大概的网络结构如下&#xff1a; 1.1 卷积的简单介绍 图像识别任务主要…

计算机速成课Crash Course - 10. 早期的编程方式

今天继续计算机速成课Crash Course的系列讲解。 更多技术文章&#xff0c;关注公众号 “摸鱼IT” 锁定 -上午11点 - &#xff0c;感谢大家关注、转发、点赞&#xff01; 10. 早期的编程方式 前几集我们把重点放在计算机的原理&#xff0c;怎么从内存读写数据&#xff0c;执行…

js基础:函数、对象、WebAPIs-DOM

一、函数和对象 1、函数概述 &#x1f916;chatgpt&#xff1a;什么是函数&#xff1f;为什么要有函数&#xff1f; 函数是一种可重复使用的代码块&#xff0c;它们可以接受输入&#xff08;参数&#xff09;、执行特定的任务&#xff0c;并返回结果。 JavaScript中函数是非常…

鸿蒙OS应用开发之按钮组件(2)

前面学习了简单的按钮添加到程序里,并且使用了简单的布局排列来放置。其实按钮还有很多种形式,会在不同的场合来使用。 默认的按钮外形,跟前面例子的程序是一样的: 包含着图片的按钮: 不同外形的按钮:

Python编程进阶:轻松掌握多线程和多进程

大家好&#xff0c;今天我们将讨论如何利用Python执行多线程和多进程任务。它们提供了在单个进程或多个进程之间执行并发操作的方法&#xff0c;并行和并发执行可以提高系统的速度和效率。在讨论多线程和多进程的基础知识之后&#xff0c;我们还将讨论使用Python库实现它们的实…

利用poi实现将数据库表字段信息导出到word中

研发文档对于开发人员来说都不陌生了&#xff0c;而研发文档里重要的一部分就是表结构设计&#xff0c;需要我们在word建个表格把我们数据库中的表字段信息填进去&#xff0c;表多的话靠我们手动去填非常累人&#xff01;&#xff01;&#xff01; 因此作为开发人员可不可以写…

计算机网络应用层(期末、考研)

计算机网络总复习链接&#x1f517; 目录 DNS域名服务器域名解析过程分类递归查询&#xff08;给根域名服务器造成的负载过大&#xff0c;实际中几乎不用&#xff09;迭代查询 域名缓存&#xff08;了解即可&#xff09;完整域名解析过程采用UDP服务 FTP控制连接与数据连接 电…

Flutter Dart FFI Pointer<Uint8>类型如何转成数组或String

前言 继上一次发布的 Flutter 直接调用so动态库&#xff0c;或调用C/C源文件内函数 内容&#xff0c;最终我选择了第二种方式&#xff0c;直接把整个 Native C 的项目源代码放进了 Flutter 工程里编译&#xff08;放在iOS的目录是因为它不支持自定义源码路径&#xff0c;Andro…

Linux免密实现文件拷贝(建立机器之间的SSH密钥认证)

背景&#xff1a; 在之前的工作中&#xff0c;我需要在我的shell脚本中实现将机器A的文件拷贝至机器B&#xff0c;然后去执行一系列的操作。由于我将我想要执行的动作完全写入了shell脚本中&#xff0c;并且不想每次执行时都去输入密码&#xff0c;因此这里&#xff0c;我们需要…

大数据机器学习与深度学习——过拟合、欠拟合及机器学习算法分类

大数据机器学习与深度学习——过拟合、欠拟合及机器学习算法分类 过拟合&#xff0c;欠拟合 针对模型的拟合&#xff0c;这里引入两个概念&#xff1a;过拟合&#xff0c;欠拟合。 过拟合&#xff1a;在机器学习任务中&#xff0c;我们通常将数据集分为两部分&#xff1a;训…

HBase 高可用集群详细图文安装部署

目录 一、HBase 安装部署 1.1 Zookeeper 正常部署 1.2 Hadoop 正常部署 1.3 HBase 安装 1.4 HBase 的配置文件 1.4.1 hbase-env.sh 1.4.2 hbase-site.xml 1.4.3 regionservers 1.4.4 创建目录 1.5 HBase 远程发送到其他节点 1.6 HBase 服务的启动 1.6.1 单点…

Linux---创建、删除文件及目录命令

1. 创建、删除文件及目录命令的使用 命令说明touch 文件名创建指定文件mkdir 目录名创建目录(文件夹)rm 文件名或者目录名删除指定文件或者目录rmdir 目录名删除空目录 touch命令效果图: mkdir命令效果图: rm命令效果图: rm删除目录效果图 说明: rm命令想要删除目录需要加上…

CSS实现鼠标移动到图片上显示遮罩层效果

这是一张图片&#xff0c;我希望鼠标移动到上面的时候显示一个遮罩层&#xff0c;层级上有两个按钮&#xff0c;一个查看&#xff0c;一个删除 首先是要写一个大盒子包裹两个部分&#xff0c;一个是图片部分&#xff0c;一个是遮罩层部分&#xff0c;然后再用CSS样式控制 <e…

C# 提取PDF中指定文本、图片的坐标

获取PDF文件中文字或图片的坐标可以实现精确定位&#xff0c;这对于快速提取指定区域的元素&#xff0c;以及在PDF中添加注释、标记或自动盖章等操作非常有用。本文将详解如何使用国产PDF库通过C# 提取PDF中指定文本或图片的坐标位置&#xff08;X, Y轴&#xff09;。 ✍ 用于…

每日一练【最大连续1的个数 III】

一、题目描述 给定一个二进制数组 nums 和一个整数 k&#xff0c;如果可以翻转最多 k 个 0 &#xff0c;则返回 数组中连续 1 的最大个数 。 二、题目解析 本题同样是利用滑动窗口的解法。 首先进入窗口&#xff0c;如果是1&#xff0c;就直接让right&#xff0c;但是如果是…

【超详细】创建vue3+ts项目(引入ElementPlus、Axios)

目录 前言1、使用vue脚手架创建项目1.1检查vue版本1.2 使用vue脚手架创建项目 2、删除项目多余文件&#xff0c;修改配置项目2.1、删除以下文件2.1、在views下创建index文件2.2、修改router/index.ts路由文件&#xff1a;2.3、修改App.vue文件&#xff1a;2.4、初始化页面样式以…

Flutter在Visual Studio Code上首次创建运行应用

一、创建Flutter应用 1、前提条件 安装Visual Studio Code并配置好运行环境 2、开始创建Flutter应用 1)、打开Visual Studio Code 2)、打开 View > Command Palette。 3)、在搜索框中输入“flutter”&#xff0c;弹出内容如下图所示&#xff0c;选择“ Flutter: New Pr…