这一篇着眼于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的更多相关文章

  1. Angular2入门系列教程7-HTTP(一)-使用Angular2自带的http进行网络请求

    上一篇:Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数 感觉这篇不是很好写,因为涉及到网络请求,如果采用真实的网络请求,这个例子大家拿到手估计还要自己写一个web ...

  2. ABP入门系列(1)——学习Abp框架之实操演练

    作为.Net工地搬砖长工一名,一直致力于挖坑(Bug)填坑(Debug),但技术却不见长进.也曾热情于新技术的学习,憧憬过成为技术大拿.从前端到后端,从bootstrap到javascript,从py ...

  3. Oracle分析函数入门

    一.Oracle分析函数入门 分析函数是什么?分析函数是Oracle专门用于解决复杂报表统计需求的功能强大的函数,它可以在数据中进行分组然后计算基于组的某种统计值,并且每一组的每一行都可以返回一个统计 ...

  4. Angular2入门系列教程6-路由(二)-使用多层级路由并在在路由中传递复杂参数

    上一篇:Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数 之前介绍了简单的路由以及传参,这篇文章我们将要学习复杂一些的路由以及传递其他附加参数.一个好的路由系统可以使我们 ...

  5. Angular2入门系列教程5-路由(一)-使用简单的路由并在在路由中传递参数

    上一篇:Angular2入门系列教程-服务 上一篇文章我们将Angular2的数据服务分离出来,学习了Angular2的依赖注入,这篇文章我们将要学习Angualr2的路由 为了编写样式方便,我们这篇 ...

  6. Angular2入门系列教程4-服务

    上一篇文章 Angular2入门系列教程-多个组件,主从关系 在编程中,我们通常会将数据提供单独分离出来,以免在编写程序的过程中反复复制粘贴数据请求的代码 Angular2中提供了依赖注入的概念,使得 ...

  7. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  8. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  9. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  10. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

随机推荐

  1. JavaScript数据类型 Boolean布尔类型

    前言 布尔值Boolean类型可能是三种包装对象Number.String和Boolean中最简单的一种.Number和String对象拥有大量的实例属性和方法,Boolean却很少.从某种意义上说, ...

  2. [物理学与PDEs]第2章习题12 严格凸性的转换

    设 $L=L(\xi_0,\xi_1,\cdots,\xi_n)$ 关于变量 $\xi_0>0,\xi_1,\cdots,\xi_n$ 为严格凸的. 证明函数 $$\bex M=\cfrac{1 ...

  3. Leetcode#461. Hamming Distance(汉明距离)

    题目描述 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目. 给出两个整数 x 和 y,计算它们之间的汉明距离. 注意: 0 ≤ x, y < 231. 示例: 输入: x = ...

  4. 爬虫-通过本地IP地址从中国天气网爬取当前城市天气情况

    1.问题描述 ​ 最近在做一个pyqt登录校园网的小项目,想在窗口的状态栏加上当天的天气情况,用爬虫可以很好的解决我的问题. 2.解决思路 ​ 考虑到所处位置的不同,需要先获取本地城市地址,然后作为中 ...

  5. tarjan 题目汇总(含解析)

    下面容许我偷个懒,洛谷上写过的blog我就不来再抄一遍了 洛谷P3436 [[POI2006]PRO-Professor Szu](别称:作死的老教授) 洛谷P4306 [[JSOI2010]连通数] ...

  6. codeforces 893F - Physical Education Lessons 动态开点线段树合并

    https://codeforces.com/contest/893/problem/F 题意: 给一个有根树, 多次查询,每次查询对于$x$i点的子树中,距离$x$小于等于$k$的所有点中权值最小的 ...

  7. PostgreSQL快速入门

    一.PostgreSQL是什么? PostgreSQL是一个功能强大的开源对象关系数据库管理系统(ORDBMS). 用于安全地存储数据; 支持最佳做法,并允许在处理请求时检索它们. PostgreSQ ...

  8. 【原创】Linux基础之用户和组

    1 添加.删除用户 # useradd $user# userdel $user 2 设置用户密码 # passwd $user /etc/passwd 3 查看$user的用户和组信息 # id $ ...

  9. 纯CSS实现垂直居中的几种方法

    垂直居中是布局中十分常见的效果之一,为实现良好的兼容性,PC端实现垂直居中的方法一般是通过绝对定位,table-cell,负边距等方法.有了css3,针对移动端的垂直居中就更加多样化. 方法1:tab ...

  10. iOS关键词weak和assign的区别

    一.区别 首先说说在什么情况下使用 weak 关键字 1.ARC中,在有可能出现循环引用的时候,往往要通过让其中一端使用weak来解决,比如:delegate 的代理属性. 2.自身已经对它有过一次强 ...