一、概述
HTML5增加了audio和video两个元素,开发人员不必使用插件就能播放音频和视频了。
audio元素和video元素有两个关键概念:容器(container)和编解码器(codec)
1、视频容器
主流食品容器支持的视频格式:
Audio Video Interleave(.avi)、Flash Video(.flv)、MPEG4(.mp4)、Matroska(.mkv)、Ogg(.ogv)
2、音频视频编解码器
一些音频编解码器:
ACC、MPEG-3、Ogg Vorbis
一些视频编解码器:
H.264、VP8、Ogg Theora
WebM:google发布的视频格式,清晰且免费。视频使用VP8编码,音频使用Ogg Vorbis编码。
3、HTML5音视频的限制
暂时没有对流视频的支持和规范。
资源受跨域共享的限制。
全频视频无法通过脚本控制。浏览器提供控制方法。
4、浏览器的支持
不同浏览器对容器和编解码的支持是不同的。可以查看http://www.longtailvideo.com/html5/formats/
二、使用
1、检测浏览器是否支持:
//通过!!运算符将结果转换成布尔值
var hasVieo = !!(document.createElement('video').canPlayType);
<video src="video.webm" controls> <object data="videoplayer.swf" type="application/x-shockwave-flash"> <param name="movie" value="vodeo.swf" /> </object> Your browser does not support HTML5 video. </video>
2、字幕
使用WebVTT标准。相见:http://dev.w3.org/html5/webvtt/
<video src="video.ogg" controls> <track label="English" kind="subtitles" srclang="en" src="subtitles_en.vtt"> <track label="Dutch" kind="subtitles" srclang="nl" src="subtitles_nl.vtt"> Your browser does not support HTML5 video. </video>
3、多个源
为了应对不同浏览器对媒体的支持不同,可以设置多个类型的源文件。
浏览器会按照声明的顺序判断,如果支持的不止一种,浏览器会选择支持的第一个来源。
<audio controls> <source src="johann_sebastian_bach_air.ogg"> <source src="johann_sebastian_bach_air.mp3"> An audio clip from Johann Sebastian Bach. </audio>
4、媒体的控制
常用控制函数
函数 | 动作 |
load() |
加载音频/视频文件,为播放做准备。通常情况下不必调用, 除非是动态生成的元素。用来播放前预加载。 |
play() |
加载(有必要的话)并播放音频/视频文件。除非音频/视频 已经暂停在其他位置了,否则默认从开头播放 |
pause() | 暂停处于播放状态的音频/视频文件 |
canPlayType(type) | 测试video元素是否支持给定MIME类型的文件 |
只读的媒体特性
只读特性 | 值 |
duration | 整个媒体文件的播放时长,以s为单位。如果无法获取时长,则返回NaN |
paused | 如果媒体文件当前被暂停,则返回true。如果还未开始播放,默认返回true |
ended | 如果媒体文件已经播放完毕,则返回true |
startTime |
返回最早的播放其实时间,一般是0.0,除非是缓冲过的媒体文件,并且一部分 内容已经不在缓冲区 |
error | 在发生了错误的情况下返回的错误代码 |
currentSrc |
以字符串形式返回当前正在播放或已加载的文件。对应于浏览器在source元素中 选择的文件 |
可用脚本控制的特性值
特性 | 值 |
autoplay | 将媒体文件设置为创建后自动播放,或者查询是否已设置为autoplay |
loop | 返回是否循环播放,或设置循环播放(或者不循环播放) |
currentTime |
以秒为单位返回从开始播放到现在所用的时间。在播放过程中,设置currentTime来 进行搜索,并定位到媒体文件的特定位置 |
controls | 显示或隐藏用户控制界面,或者查询用户控制界面当前是否可见 |
volume | 在0.0到1.0之间设置音频音量的相对值,或者产寻当前音量相对值 |
muted | 为音频文件设置静音或者消除静音,或者检测当前是否为静音 |
autobuffer |
通知播放器在媒体文件开始播放前,是否惊醒缓冲加载。如果已设置为autoplay,则 忽略此特性 |
video元素的额外特性
特性 | 值 |
poster | 在视频加载完成之前,代表视频内容的图片的URL地址。该特性可读可修改 |
width、height | 读取或设置显示尺寸。如果大小不匹配视频本身,会导致边缘出现黑色条状区域 |
videoWidth、videoHeight | 返回视频的固有或自使用宽度和高度。只读 |
书中的例子很好,如果有兴趣可以看一看。
书中的示例代码可以在http://www.apress.com/9781430238645 的“Source Code/Downloads”中下载
相关推荐
2. **媒体支持**:HTML5新增了<video>和<audio>元素,使得在网页中内嵌视频和音频变得更加方便,无需依赖Flash等外部插件。 3. **离线存储**:通过离线存储(离线应用缓存或App Cache),HTML5允许开发者创建离线...
【标题】"h5前端学习笔记"所涵盖的知识点主要集中在HTML5技术及其在前端开发中的应用。HTML5是超文本标记语言的最新版本,它引入了许多新的元素、API和特性,极大地增强了网页的交互性、可访问性和可用性。 【描述...
2. **多媒体支持**:HTML5新增了`<video>`和`<audio>`元素,使得网页可以直接嵌入视频和音频内容,不再需要借助Flash等外部插件。这两个元素支持多种格式,如`video/ogg`、`video/mp4`(视频)和`audio/ogg`、`audio...
本学习笔记将聚焦于HTML5的基础知识,包括其新特性、元素和最佳实践。 一、HTML5的新特性 1. 语义化标签:HTML5引入了新的语义化标签,如、、、和等,这些标签有助于更好地组织内容,提高可读性和可访问性。 2. ...
HTML5 学习笔记 HTML5 是 W3C 与 WHATWG 合作的结果,WHATWG 指 Web Hypertext Application Technology Working Group。WHATWG 致力于 web 表单和应用程序,而 W3C 专注于 XHTML 2.0。 HTML5 中的新特性包括: * ...
HTML5中新增的`<video>`和`<audio>`元素,使得在网页中嵌入视频和音频文件变得简单直观,无需依赖第三方插件如Flash。这不仅提高了网页的加载速度和兼容性,也增强了用户体验。 ### Canvas元素 `<canvas>`元素是...
HTML5引入了许多新元素和API,如`<video>`和`<audio>`用于多媒体播放,`<canvas>`用于图形绘制,`<form>`元素的新属性增强了表单处理,Web Storage和Web Workers则提升了本地数据存储和后台处理能力。 **学习资源**...
同时,`<video>`和`<audio>`元素允许直接在网页中嵌入多媒体内容,无需依赖Flash或其他插件。此外,`<canvas>`元素提供了动态图形绘制的能力,而`<input type="date">`等新的输入类型则增强了表单处理能力。 在移动...
HTML5引入了许多新特性,如语义化标签(如`<header>`、`<nav>`、`<article>`)、离线存储(Application Cache)、拖放功能、媒体元素(`<video>`、`<audio>`)等,使得创建富媒体和移动设备友好型网站变得更加容易。...
此外,HTML5还增加了离线存储、拖放功能、媒体元素(如<video>和<audio>)等新特性,极大地丰富了网页内容的表现形式。 在HTML5中,还有一些常用的特殊字符,如版权符号©、注册商标符号®、非版权符号™等,它们...
HTML5引入了<video>和<audio>元素,使得在网页中内嵌音频和视频变得更加简单。不再需要Flash等第三方插件,开发者可以直接控制播放、暂停、音量等功能。 四、Canvas与SVG图形 1. 元素允许动态渲染图形,通过...
以上只是HTML标签的一小部分,实际中还有许多其他标签,如用于定义章节结构的`<section>`、`<article>`等,以及用于定义多媒体内容的`<audio>`、`<video>`等。学习HTML时,理解每个标签的作用并熟练运用,是创建功能...
本学习笔记旨在详细介绍HTML的基本概念、常用标签及其英文单词解释,帮助初学者更好地理解和运用HTML。 一、HTML基本结构 HTML文档通常以`<!DOCTYPE html>`开头,声明当前文档为HTML5标准。接着是`<html>`标签,它...
本学习笔记将深入探讨HTML的核心概念、语法结构以及在实际开发中的应用。 1. HTML基础概念 HTML由一系列元素组成,这些元素以开始标签和结束标签的形式存在,例如`<p>`和`</p>`代表一个段落。每个元素都有其特定的...
HTML5是下一代网页标准,它的...通过学习这个HTML5在移动领域开发的学习笔记,你可以深入了解这些技术,结合实际案例进行练习,从而成为一名熟练的HTML5移动应用开发者。记住,不断实践和探索是掌握新技术的最佳途径。
这篇学习笔记将深入探讨HTML5游戏开发的关键技术和实践方法。 首先,我们要理解HTML5的基础。HTML5是超文本标记语言的最新版本,它增强了网页的结构化和语义化能力,引入了新的元素如`<canvas>`、`<audio>`和`...
HTML5引入了许多新特性,如`<canvas>`用于画布绘图,`<audio>`和`<video>`支持多媒体播放,`<section>`、`<article>`、`<header>`、`<footer>`等语义化标签,以及离线存储`<application cache>`等。这些新元素和属性...