HTML5 音视频

news2025/1/11 5:39:13

文章目录

  • HTML5 音视频
    • video元素
      • 简介
      • 简单使用
      • 多种格式的视频
      • 自定义视频
    • audio元素
      • 简介
      • 简单使用
      • 设置网页背景音乐
      • 多种格式的音频
      • 自定义音频

HTML5 音视频

video元素

简介

语法

<video>
  你的浏览器不支持video元素,请升级到最新版本
</video>

说明

如果浏览器不支持video元素,就会显示标签中的内容“你的浏览器不支持video元素,请升级到最新版本”。当然,这个提示文字可省略。

video元素常用属性

属性说明
autoplay是否自动播放
controls是否显示控制栏
loop是否循环播放
preload是否预加载
取值:auto,预加载(默认值);
metadata,只预加载元数据(即媒体字数、第一帧、播放列表等);
none,不预加载。

简单使用

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <video src="media/movie.mp4" width="320" height="240" autoplay controls loop></video>
    </body>
</html>

在这里插入图片描述

多种格式的视频

对于HTML5视频格式,主要有3种,分别是ogg、mp4和webm。不过,主流浏览器对这3种视频格式的支持程度都不一样,如:

在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
	</head>
	<body>
		<video controls>
			<source type="video/ogg" src="media/movie.ogg" />
			<source type="video/mp4" src="media/movie.mp4" />
			<source type="video/webm" src=media/movie.webm" />
		</video>
	</body>
</html>

自定义视频

video元素的DOM属性

属性说明
volume音量
currentTime当前播放时间(单位:秒)
startTime设置开始播放时间(单位:秒)
duration总的播放时间(单位:秒)
playbackRate播放速率,默认值为1
muted是否静音,默认值为false
paused是否暂停,取值为true或false
end是否播放完毕,取值为true或false

video元素的DOM方法

方法说明
play()播放
pause()暂停

video元素的DOM事件

事件说明
timeupdate修改播放时间时触发
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<script>
			window.onload = function() {
				var oVideo = document.getElementsByTagName("video")[0];
				var oRange = document.getElementById("range");
				var oCurrentTime = document.getElementsByClassName("currentTime")[0];
				var oDuration = document.getElementsByClassName("duration")[0];
				//初始化两个时间
				oDuration.innerHTML = getTime(oVideo.duration);
				oCurrentTime.innerHTML = "00:00:00";
				//初始化进度条的值
				oRange.min = 0;
				oRange.max = oVideo.duration;
				oRange.value = 0;
				//保持滑动条和video的时间同步
				oRange.onchange = function() {
					oVideo.currentTime = oRange.value;
					oCurrentTime.innerHTML = getTime(oVideo.currentTime);
				};
				oVideo.addEventListener("timeupdate", function() {
					oRange.value = oVideo.currentTime;
					oCurrentTime.innerHTML = getTime(oVideo.currentTime);
				}, false);
				//定义一个转换为“00:00:00”格式时间的函数
				function getTime(time) {
					var hours = parseInt(time / 3600);
					var minutes = parseInt((time - hours * 3600) / 60);
					var seconds = parseInt(time - hours * 3600 - minutes * 60);
					if (hours < 10) {
						hours = "0" + hours;
					}
					if (minutes < 10) {
						minutes = "0" + minutes;
					}
					if (seconds < 10) {
						seconds = "0" + seconds;
					}
					var result = hours + ":" + minutes + ":" + seconds;
					return result;
				}
			}
		</script>
	</head>
	<body>
		<video autoplay preload="metadata" width="320" height="240" src="media/movie.mp4" autoplay></video><br />
		<input id="range" type="range" /><br />
		<div class="time">
			<span class="currentTime"></span>/
			<span class="duration"></span>
		</div>
	</body>
</html>

在这里插入图片描述

audio元素

简介

语法

<audio src="文件地址">
  你的浏览器不支持audio元素,请升级到最新版本
</audio>

说明

如果浏览器不支持audio元素,就会显示标签中的内容“你的浏览器不支持audio元素,请升级到最新版本”。当然,这个提示文字可省略。

audio元素常用属性

audio元素的属性跟video元素的属性几乎是一样的。

属性说明
autoplay是否自动播放
controls是否显示控件
loop是否循环播放
preload是否预加载
preload取值:auto,预加载(默认值);
metadata,只加载元数据;
none,不预加载。

简单使用

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <audio src="media/music.mp3" autoplay controls loop></audio>
    </body>
</html>

在这里插入图片描述

设置网页背景音乐

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <audio src="media/music.mp3" autoplay loop></audio>
    </body>
</html>

多种格式的音频

对于HTML5音频格式,主要有3种,分别是ogg、mp3和wav。主流浏览器对这3种音频格式的支持程度都不一样,如:

在这里插入图片描述

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"/>
        <title></title>
    </head>
    <body>
        <audio autoplay controls loop>
            <source src="music.mp3" type="audio/mp3" />
            <source src="music.ogg" type="audio/ogg" />
        </audio>
    </body>
</html>

自定义音频

audio元素的DOM属性

属性说明
volume音量
currentTime当前播放时间(单位:秒)
startTime设置开始播放时间(单位:秒)
duration总的播放时间(单位:秒)
playbackRate播放速率,默认值为1
muted是否静音,默认值为false
paused是否暂停,取值为true或false
end是否播放完毕,取值为true或false

audio元素的DOM方法

方法说明
play()播放
pause()暂停

audio元素的DOM事件

事件说明
timeupdate修改播放时间时触发

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

spring cloud、gradle、父子项目、微服务框架搭建---引入MyBatis-Plus(四)

总目录 https://preparedata.blog.csdn.net/article/details/120062997 文章目录总目录一、引入依赖二、配置mybatis-plus1.配置数据源2.配置mybatis-plus三、服务启动类配置MapperScan四、新建实体五、新建Mapper接口六、新建Mapper接口的Mapper.xml七、新建接口八、新建接口…

智能优化算法——正余弦优化算法(SCA)及其改进策略

正余弦优化算法&#xff08;SCA&#xff09;及其改进策略一、基本介绍1. 背景2. 算法简介二、基本的SCA算法1. 算法介绍2. 算法步骤三、算法分析1. 正余弦分布2. 算法实验结果3. 算法优缺点四、SCA改进策略1. 参数的改进2. 应用权重更新机制3. 基于反向学习的改进五、引用与代码…

Linux操作系统之进程间通信—信号量

文章目录一、信号量的定义&#xff1f;二、信号量的使用三、ipcs的使用一、信号量的定义&#xff1f; 信号量是一个特殊的变量&#xff0c;一般取正数值。它的值代表允许访问的资源数目&#xff0c;获取资源时&#xff0c;需要对信号的值进行原子减一&#xff0c;该操作被称为…

计算方阵的迹(主对角线上各元素之和)numpy.trace()

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 计算方阵的迹&#xff08;主对角线上各元素之和&#xff09; numpy.trace() [太阳]选择题 以下关于python代码表述正确的一项是&#xff1f; import numpy as np A np.array([[1,2,3],[4,5…

ArcGIS基础实验操作100例--实验14设置字段别名

本实验专栏来自于汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 基础编辑篇--实验14 设置字段别名 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;1&…

CSS知识点精学2-盒子模型

CSS第三特性&#xff1a;优先级 &#xff08;优先级是三大特性中最复杂且重要的&#xff0c;前两大特性分别是继承性和层叠性&#xff0c;已经在CSS知识点精学1里面讲了&#xff09; 优先级 特性&#xff1a;不同选择器具有不同的优先级&#xff0c;优先级高的选择器样式会覆…

C++ 函数模板、具体化模板的分文件书写

函数模板分为普通函数模板和具体化函数模板 普通函数模板&#xff1a;函数模板只是函数的描述符&#xff0c;没有实体&#xff0c;创建函数模板的代码整体放在头文件中&#xff1b; 具体化函数模板&#xff1a;具体化函数模板有实体&#xff0c;编译时和普通函数一样&#xf…

Linux多线程互斥量与原理剖析

这里我们简要介绍了线程间互斥相关的概念&#xff0c;并对加锁的一种原理进行了剖析&#xff0c;本人目前理解尚浅&#xff0c;若文中有表述不当的地方还望理解并指正&#xff0c;谢谢大家&#xff01; 文章目录一&#xff1a;线程间互斥相关背景概念二&#xff1a;互斥量mutex…

摄影测量学:期末考试重点总结

本文参考《摄影测量学》 (王佩军&#xff0c;徐亚明 编著)&#xff1b; 01 不同阶段的摄影测量的对比&#xff0c;课本表1-1 &#xff08;原始资料、投影方式、仪器记不住&#xff0c;那名字总该记住吧&#xff1f;模拟摄影测量、解析摄影测量、数字摄影测量&#xff09; 02 量…

Python中的所有运算符以及运算符的优先级

文章目录前言一、算术运算符二、赋值运算符三、比较运算符四、逻辑运算符五、位运算符六、运算符的优先级案例实战总结前言 运算符是一些人为定义的特殊符号&#xff0c;比如我们生活当中最常见的 、-、、&#xff0c;它们主要用于数学计算、比较大小和逻辑运算等等。那这些运…

数字孪生医院的智能化运营平台建设内容

随着国务院办公厅《关于推动公立医院高质量发展的意见》印发&#xff0c;高质量发展已成为医院发展的主旋律。当前市场经济正处于增长速度换挡期&#xff0c;医院面临着转型发展的紧迫性&#xff0c;运 用新一代信息技术促进医院管理体系与管理能力现代化发展势在必行。基于数字…

读论文---DETR

DETR 深度学习之目标检测(十一)--DETR详解_木卯_THU的博客-CSDN博客_detr 下面内容取材自上述博客和唐宇迪视频

20221229英语学习

今日新词 premier adj.首要的, 最著名的, 最成功的, 第一的 microscopic adj.极小的&#xff1b;需用显微镜观察的&#xff1b;使用显微镜的 complaint n.抱怨&#xff1b;埋怨&#xff1b;投诉&#xff1b;控告 moth n.蛾 prototype n.原型&#xff0c;雏形 tournament …

面试官:自动化测试都没弄明白,你怎么敢来面试 “ 软件测试开发 ” 的?

面试一直都是一个热门话题&#xff0c;测试员当然也逃不过~纵使你是一个技能全部满点的超优秀测试员&#xff0c;卡在面试这一关也是万万不可的。特别是大厂的测试员&#xff0c;他们面试所问的东西&#xff0c;你在学校通常接触不道&#xff0c;所以没有哪个应届生是一毕业啥也…

关于Nginx 用户认证、SSL证书生成配置的一些笔记

写在前面 分享一些 Nginx 用户认证、SSL 加密配置的笔记博文内容涉及 Nginx 用户认证、SSL 加密配置 Demo通过 OpenSSL 生成使用 SSL 证书、私钥和 CSR Demo 理解不足小伙伴帮忙指正 这世界的一面至始至终是表象&#xff0c;正如另一面至始至终是意志 -----《作为意志和表象的世…

涨价都涨疯了

大家好&#xff0c;我是校长。给大家推荐个好东西&#xff0c;可能大家能用得着。最近新冠肺炎闹得人心惶惶&#xff0c;噢&#xff0c;不对&#xff0c;改名了&#xff0c;叫&#xff1a;新冠感染了。只要专家建议个什么东西&#xff0c;什么东西绝对准脱销&#xff0c;而且是…

计算机软考高级好考吗?需要备考多久?

不简单&#xff0c;整体的通过率只有15%左右。 软考高级一共有五个科目。 信息系统项目管理师&#xff1a;零基础&#xff0c;有考证需求的或者从事管理的人员&#xff0c;项目经理可以考这个。 系统分析师&#xff1a;适合在项目开发过程中定制需求规格说明书&#xff0c;和编…

[内网渗透]—CS生成office宏钓鱼

简介 ​ 宏是一个批量处理程序命令,正确地运用它可以提高工作效率。微软的office软件允许用户自己编写,叫VBA的脚本来增加其灵活性,进一步扩充它的能力。如完打开word文件同时要打开某个文件的功能,必须要自己编写一段称之为宏的脚本。具体做法是在“工具”菜单“宏”-“…

图的简要介绍

1、图的基本概念 &#xff08;1&#xff09;定义 图是一种较为复杂的非线性结构。 图就是由顶点的有穷非空集合和顶点之间的边组成的集合。通常表示为G(V,E)&#xff0c;其中&#xff0c;G表示一个图&#xff0c;V表示顶点的集合&#xff0c;E表示边的集合。 &#xff08;2&…

Cookie和Session的区别

&#x1f49f;&#x1f49f;前言 ​ 友友们大家好&#xff0c;我是你们的小王同学&#x1f617;&#x1f617; 今天给大家打来的是 Cookie和Session的区别 希望能给大家带来有用的知识 觉得小王写的不错的话麻烦动动小手 点赞&#x1f44d; 收藏⭐ 评论&#x1f4c4; 小王的主页…