HTML入门9
这一篇着眼于HTML里的音频和视频标签及相关处理;
传统技术不能再web中使用音频和视频,一致使用Flash后来因为一些HTML/CSS特性,安全问题,慢慢退出。在HTML5提出后,新特性<video><audio>标签,不考虑制作流程,如何使用这些音频视频文件,进行实验。video标签 嵌入一段视频,代码示例
<video src="rabbit320.webm" controls>
<p>your browser doesn't support
Here is a <a href="rabbit320.webm">link to the video</a> instead
</p>
</video>
src 属性同img标签一样都是用来指向嵌入网页当中的视频资源, controls 控制视频和音频的回放功能,这些媒体应该包括开始和停止以及音量调整等功能;
<video> 标签内的段落一旦浏览器不支持video时会显示出来,作用类似img 里的alt文本,同时提供了一个指向视频的链接地址,如果不能显示video,那么通过链接可以访问到文件,很好兼容;
了解关于容器的格式mp3 mp4 webm
webm 容器包括ogg vorbis音频和VP8/VP9视频,用在firefox和chrome
MP4容器 包括AAC和MP3音频和H.264视频,主要用在IE和safari.
老式ogg容器往往支持ogg Vorbis 音频和Ogg Theora视频,主要在firefox和chrome支持,现在被webm容器所取代,音频文件会直接播放,不需要容器。浏览器并不会支持所有的格式,那么有的媒体文件将不会播放,因此这种情况下,改善的做法就是去掉video里的src属性额外添加source元素包裹src示例:
<video>
<source src="rabbit32.mp4" type="video/mp4">
<source src="rabbit32.webm" type="video/webm">
<p>your browsere dose't support HTML5 video .here is a<a href="rabbit320.mp4">link to the video</a> instead.
</p>
</video>
这样浏览器会检查source标签,播放第一个能播放的媒体,因此视频格式也应该包含webm和MP4两种格式,以支持大多数平台和浏览器,注意,应该加上type属性,让浏览器锁定到指定的播放器格式,如果不加浏览器会加载每一个文件,直到找到正确的播放格式i,会消耗大量时间。
同样可以给video元素添加一些其他布尔属性, 下面具体解释下个属性的含义
autoplay 添加后视频会立即播放,即使页面还么有加载完,建议不添加,谁也不喜欢自动播放视频
loop 让视频和音频文件循环播放,
muted 导致媒体播放时默认关闭声音
poster 指向一个url 图像会在播放前显示 ,粗劣的广告或预览;
preload 缓冲较大的文件,三个值可选preload ="none" 不缓冲, auto 页面加载完缓存媒体文件,metadata 仅缓存文件的元数据
再来了解下<audio>标签, 使用方式于video几乎一样,音频的控件要比视频的控件要小,指定媒体播放类型的时候,应该为audio/mp3 或者audio/ogg两种方式,而且auio不支持width和height属性,由于并没有实觉部件所以不需要,同样poster属性也不使用。
下面讨论下音轨文本,相当于兼容阅读器用户或者听不懂语音内容的用户,添加一个副本来表示音频内容的元素,即<track>标签。WebVTT是一个格式,用来编写文本文件,包含很多的字符串,同时包含一些元数据,可以用来描述字符串在视频中显示的时间,也可以描述字符串的样式和定位信息,把这样的字符串叫cues 。可以定义显示不同的样式,subtitle 添加翻译字幕,captions同步翻译对白, timed descriptions 将文字转换为音频,服务有视觉障碍的人;
与媒体文件一起显示,需要做的工作,以.vtt后缀保存文件,用<track>标签链接.vtt文件,使用kind属性指明是哪一种类型,使用srclang告诉浏览器用什么语言编写subtitles。示例代码:
<video controls>
<source src ="example.mp4" type="video/mp4">
<source src="example.webm" type="video/webm">
<track kind="subtitles" src="subtitle_en.vtt" srclang="en">
</video>
这个视频将会带有字幕。文本轨道将使得网站更容易被SEO。
总结,这一块内容更多的视频和音频怎么用在页面上,注意哪些要素,属性选择,之类,下一篇将ifame和object 很重要。
HTML入门9的更多相关文章
- Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求
上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...
- ABP入门系列(1)——学习Abp框架之实操演练
作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...
- Oracle分析函数入门
一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...
- Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数
上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...
- Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数
上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...
- Angular2入门系列教程4-服务
上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
- js学习笔记:webpack基础入门(一)
之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...
随机推荐
- Hive SQL 分类
题目: 请使用Hive SQL实现下面的题目. 下面是一张表名为user_buy_log的表,有三个字段,user(用户),grp(分组编号),time(购物时间). 需要将用户按照grp分组,对ti ...
- 阿里云ECS服务器Ubuntu安装MySQL并远程访问
root账户登录服务器Ubuntu16.04 apt-get update apt-get install mysql-server mysql-client; 安装时会让你设置root密码,输入2次 ...
- Java子线程中操作主线程Private级别数据
两个类分别如下: <pre name="code" class="java">package Demo2; import java.util.*; ...
- Windows系统下查看某一进程下所有线程的dos命令
1.查看进程 pslist或 tasklist 注:若出现“pslist不是外部或内部命令,也不是可运行的程序....”,需要去TechNet官网下载psTools(链接https://technet ...
- WPS或xls 数据分列 清洗
一 .一般分离 时间:2017年11月27日14:55:12 数据如下: 501陈**:田莨铺58 502陈**:田莨铺58 503陈**.六麻杨冲58元 504陈**.石脚哗.200元 505陈** ...
- FTP:mget匹配文件名后下载
需求:从FTP某目录取每日构建的apk下载到本地 难点:文件名中有构建时间,而这个时间不算固定值,因此文件名不固定 解决方案:mget匹配文件名后下载 BAT版本: :: Filename:Proje ...
- MVC RedirectToAction 跳转时传参问题
RedirectToAction方法提供了5个重载方法 1.单纯跳转,不带参数. string redirectUrl = "/List" ; return RedirectToA ...
- 10张思维导图带你学习JavaScript
10张思维导图带你学习JavaScript 下面将po出10张JavaScript相关的思维导图. 分别归类为: JavaScript变量 JavaScript运算符 JavaScript数组 ...
- 【easy】561. Array Partition I
Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1 ...
- pm2,部署nodejs,使用方法及自己使用后总结的经验
pm2是一个带有负载均衡功能的应用进程管理器,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护等功能.他会确定重启开机之后,能够保证程序也能运行起来.目前还没有操 ...