HTML5 多媒体
1.互联网上的音频
直到现在,仍然不存在一项旨在网页上播放音频的标准。
今天,大多数音频是通过插件(比如 Flash)来播放的。然而,并非所有浏览器都拥有同样的插件。
HTML5 规定了在网页上嵌入音频元素的标准,即使用 <audio> 元素。
2.插入音乐 <audio> 标签
目前,<audio> 元素支持的3种文件格式:MP3、Wav、Ogg。
(1)基本使用
<!-- 添加controls属性才会显示控制面板,默认不会显示 -->
<audio controls>
<source src="./mp3/卡农慢摇版.mp3"></source>
</audio>
如图(每个浏览器效果都不一样)

(2)设置自动播放和播放次数
autoplay:如果出现该属性,则音频在就绪后马上播放。
loop:如果出现该属性,则每当音频结束时重新开始播放。
注意:Chrome在2018年10月份更新后关闭了audio、video媒体autoplay自动播放,新版的火狐也不支持。据说只是不支持mp3格式的自动播放,但是能够支持ogg格式的音频自动播放
<audio controls autoplay loop>
<source src="./mp3/卡农慢摇版.mp3"></source>
</audio>
(3)其他属性:
preload:auto|metadata|none 规定是否在页面加载后载入音频
muted:如果出现该属性,则音频输出为静音。
3.插入视频 <video> 标签
目前,<video> 元素支持三种视频格式:MP4、WebM、Ogg。
常用属性有:
controls:显示控制面板,默认不会显示
autoplay:如果出现该属性,则视频在就绪后马上播放。
loop:如果出现该属性,则当媒介文件完成播放后再次开始播放
width:宽度,默认为原媒体文件的宽度
height:高度,默认为原媒体文件的高度
poster:封面图片 默认为视频的第一帧
muted:如果出现该属性,视频的音频输出为静音。
reload:如果出现该属性,则视频在页面加载时进行加载,并预备播放。如果使用 "autoplay",则忽略该属性。
<video controls>
<source src="./source/最终幻想神罗三巨头乱斗.mp4"></source>
</video>

4.<source> 标签
该标签为媒体元素(比如 <video> 和 <audio>)定义媒体资源,允许您规定两个视频/音频文件供浏览器根据它对媒体类型或者编解码器的支持进行选择。
source标签只能二选一
注释:IE 8 或更早版本的 IE 浏览器都不支持\ <source> 标签。
常用属性:
src:规定媒体资源的地址
type:规定媒体资源的 MIME 类型
<audio controls autoplay loop>
<source src="./source/卡农慢摇版.ogg" type="audio/ogg"></source>
<source src="./source/卡农慢摇版.mp3" type="audio/mpeg"></source>
您的浏览器不支持 audio 元素。
</audio>
5.切换媒体文件
可以操作audio或者video的src属性来切换要播放的文件
<body>
<audio controls autoplay loop>
<source src="./source/卡农慢摇版.ogg" type="audio/ogg"></source>
<source src="./source/卡农慢摇版.mp3" type="audio/mpeg"></source>
您的浏览器不支持 audio 元素。
</audio>
</body>
<script>
var audio = document.getElementsByTagName("audio")[0]
// 8秒钟后会切换到另一首歌
setTimeout(function(){
audio.src="./source/再见警察.mp3"
console.log(audio.src)
},8000)
</script>
6.自定义视频播放器
原生的播放控制面板在不同浏览器下的样式都不一样,所以一般使用的都是自定义的视频播放器。自定义视频播放器依然使用video标签,并隐藏原生的播放控制面板,使用自定义的控制面板,通过事件监听调用相关的API来操作视频的播放。
例如使用js来监听上一曲/下一曲,音量控制,进度条拖放控制等等。
注意:因为最新的浏览器已经屏蔽自动播放,而且直接调用js代码控制播放也是无效的,必须设置点击监听,在回调中才能控制播放
常用方法:
load() 加载视频
play() 播放视频
pause() 暂停视频
常用属性:
paused 视频是否是暂停状态
duration 视频长度(以秒计)
currentTime 可获取视频当前进度,也可以通过它控制播放进度(以秒计)
volume:音量(0到1,0就是静音,1就是100%)
src: 设置或返回音频/视频元素的当前来源
常用事件
oncanplay 用户可以开始播放视频时触发
ontimeupdate 播放进度更新时触发
onended 播放完毕时触发
onpause 当音频/视频已暂停时触发。
onplay 当音频/视频开始播放时触发。
HTML 音频/视频 DOM 参考手册
https://www.runoob.com/tags/ref-av-dom.html
HTML5 多媒体的更多相关文章
- Html5多媒体相关的API---video
Html5多媒体相关的API---video 在HTML5中,新增了两个元素---video元素与audio元素,其中video元素专门用来播放网络上的视频或电影,而audio元素专门用来播放网络上的 ...
- HTML5 多媒体音视频处理
HTML5 多媒体音视频处理 版权声明:未经博主授权,内容严禁转载 ! 音频处理 - audio HTML5 Audio 音频 目前大多数音频是通过哦插件的形式来播放的. 不同浏览器在网页上播放音频的 ...
- 三天学会HTML5 ——多媒体元素的使用
目录 1. HTML5 Media-Video 2. HTML5 Media-Audio 3. 拖拽操作 4. 获取位置信息 5. 使用Google 地图获取位置信息 多媒体是互联网中的最重要的一部分 ...
- HTML5 多媒体标签
一.多媒体 embed 标签 embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.MP3等等.url为音频或视频文件及其路径,可以是相对路径或绝对路径. 语法格式: < ...
- html5多媒体Video/Audio
video: 1.常见的视频格式 视频的组成部分:画面.音频.编码格式 视频编码:H.264.theora.VP8(google开源) 2.常见的音频格式 编码:AAC.MP3 ...
- css总结16:HTML5 多媒体音频(Audio)视频(video )
1 显示嵌入网页中的 MP3 文件: <embed height="50" width="100" src="horse.mp3"&g ...
- html5——多媒体(四)
全屏兼容 box.requestFullscreen(); box.webkitRequestFullScreen(); box.mozRequestFullScreen(); <!DOCTYP ...
- html5——多媒体(三)
自定义进度条 1.video标签是内联块,可以设置宽高,但是需要用大盒子将其包裹起来进行定位 2.小盒子设计成进度条样式,并进行定位 3.进度条样式中的特殊按钮可以用web字体 4.通过点击实现视频的 ...
- html5——多媒体(二)
基本方法 load() //重新加载视频 play() //播放 pause() //暂停 基本属性 currentTime //视频播放的当前进度. duration //视频的总时间 paused ...
- html5——多媒体(一)
<audio> 1.autoplay 自动播放 2.controls 是否显不默认播放控件 3.loop 循环播放 4.preload 预加载 同时设置autoplay时些属性失效 5.由 ...
随机推荐
- EF Core – QueryFilter & Interception
主要参考 Global Query Filters Interceptors QueryFilter QueryFilter 就是默认过滤, 非常适合用来做 Soft Delete builder.H ...
- MyBatisPlus——简介
概述 MyBatisPlus(简称MP)是基于MyBatisPlus框架基础上开发的增强型工具,旨在简化开发.提高效率 国内开发的技术 特性 无侵入:只做增强不做改变,不会对现有工程产生影响 强大的C ...
- php获取支付宝用户信息
php获取支付宝用户信息 一:创建应用 要在您的应用中使用支付宝开放产品的接口能力: 您需要先去蚂蚁金服开放平台(open.alipay.com),在开发者中心创建登记您的应用,此时您将获得应用唯一标 ...
- Android Perfetto 系列 3:熟悉 Perfetto View
1. Perfetto View 界面 抓到 Perfetto Trace 之后,一般是在 ui.perfetto.dev 中打开(如果用官方提供的脚本,则会在抓去结束后自动在这个网站上打开,想看看怎 ...
- px 、em、rem 的选取依据
1. px 像素(Pixel).绝对单位.像素px是相对于显示器屏幕分辨率而言的,是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果 px要换算成物理长度,需要 指定精度 DPI. 2. em ...
- 托管服务简介IHostedService接口 继承 BackgroundSerice接口
1. 场景:代码运行在后台,比如服务器启动的时候在后台预先加载数据到缓存,每天凌晨3 点把数据到处到数据库备份,每隔5秒在两张表之间同步一次数据 : 2. 托管服务实现IHoutedService接口 ...
- Leetcode Practice --- 栈和队列
目录 155. 最小栈 思路解析 20. 有效的括号 思路解析 1047. 删除字符串中的所有相邻重复项 思路解析 1209. 删除字符串中的所有相邻重复项 II 思路解析 删除字符串中出现次数 &g ...
- Spring 实现 3 种异步流式接口,干掉接口超时烦恼
大家好,我是小富- 如何处理比较耗时的接口? 这题我熟,直接上异步接口,使用 Callable.WebAsyncTask 和 DeferredResult.CompletableFuture等均可实现 ...
- 自学PHP笔记(二)PHP数据类型
PHP数据类型可支持以下8种类型: 类型 说明 string 字符串 boolean 布尔值 integer 整型 float 浮点型 array 数组 object 对象 resource 资源 N ...
- Next.js 实战开发入门 1 开发环境部署 - 曲速引擎 Warp Drive
开发目标 我们将构建一个简化版本的财务仪表板,其内容包括:公共主页.登录页面.受身份验证保护的仪表板页面.用户可以添加.编辑和删除发票 开发环境配置 开发客户端 Windows 10 (不限系统,兼容 ...