`
toplchx
  • 浏览: 341609 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HTML5学习笔记(三)-Video、Audio

阅读更多

一、概述

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”中下载

分享到:
评论

相关推荐

    bootstrap学习笔记-html5

    2. **媒体支持**:HTML5新增了&lt;video&gt;和&lt;audio&gt;元素,使得在网页中内嵌视频和音频变得更加方便,无需依赖Flash等外部插件。 3. **离线存储**:通过离线存储(离线应用缓存或App Cache),HTML5允许开发者创建离线...

    h5前端学习笔记

    【标题】"h5前端学习笔记"所涵盖的知识点主要集中在HTML5技术及其在前端开发中的应用。HTML5是超文本标记语言的最新版本,它引入了许多新的元素、API和特性,极大地增强了网页的交互性、可访问性和可用性。 【描述...

    HTML5学习笔记

    2. **多媒体支持**:HTML5新增了`&lt;video&gt;`和`&lt;audio&gt;`元素,使得网页可以直接嵌入视频和音频内容,不再需要借助Flash等外部插件。这两个元素支持多种格式,如`video/ogg`、`video/mp4`(视频)和`audio/ogg`、`audio...

    HTML5学习笔记(总结提炼版)——001

    本学习笔记将聚焦于HTML5的基础知识,包括其新特性、元素和最佳实践。 一、HTML5的新特性 1. 语义化标签:HTML5引入了新的语义化标签,如、、、和等,这些标签有助于更好地组织内容,提高可读性和可访问性。 2. ...

    HTML5学习笔记.pdf

    HTML5 学习笔记 HTML5 是 W3C 与 WHATWG 合作的结果,WHATWG 指 Web Hypertext Application Technology Working Group。WHATWG 致力于 web 表单和应用程序,而 W3C 专注于 XHTML 2.0。 HTML5 中的新特性包括: * ...

    html5学习笔记.txt

    HTML5中新增的`&lt;video&gt;`和`&lt;audio&gt;`元素,使得在网页中嵌入视频和音频文件变得简单直观,无需依赖第三方插件如Flash。这不仅提高了网页的加载速度和兼容性,也增强了用户体验。 ### Canvas元素 `&lt;canvas&gt;`元素是...

    HTML学习笔记-适合初学者

    HTML5引入了许多新元素和API,如`&lt;video&gt;`和`&lt;audio&gt;`用于多媒体播放,`&lt;canvas&gt;`用于图形绘制,`&lt;form&gt;`元素的新属性增强了表单处理,Web Storage和Web Workers则提升了本地数据存储和后台处理能力。 **学习资源**...

    HTML5-学习笔记.docx

    同时,`&lt;video&gt;`和`&lt;audio&gt;`元素允许直接在网页中嵌入多媒体内容,无需依赖Flash或其他插件。此外,`&lt;canvas&gt;`元素提供了动态图形绘制的能力,而`&lt;input type="date"&gt;`等新的输入类型则增强了表单处理能力。 在移动...

    html css js全套学习笔记+举例

    HTML5引入了许多新特性,如语义化标签(如`&lt;header&gt;`、`&lt;nav&gt;`、`&lt;article&gt;`)、离线存储(Application Cache)、拖放功能、媒体元素(`&lt;video&gt;`、`&lt;audio&gt;`)等,使得创建富媒体和移动设备友好型网站变得更加容易。...

    HTML5学习笔记.docx

    此外,HTML5还增加了离线存储、拖放功能、媒体元素(如&lt;video&gt;和&lt;audio&gt;)等新特性,极大地丰富了网页内容的表现形式。 在HTML5中,还有一些常用的特殊字符,如版权符号©、注册商标符号®、非版权符号™等,它们...

    Essential Guide to HTML5学习笔记

    HTML5引入了&lt;video&gt;和&lt;audio&gt;元素,使得在网页中内嵌音频和视频变得更加简单。不再需要Flash等第三方插件,开发者可以直接控制播放、暂停、音量等功能。 四、Canvas与SVG图形 1. 元素允许动态渲染图形,通过...

    html常用标签学习笔记

    以上只是HTML标签的一小部分,实际中还有许多其他标签,如用于定义章节结构的`&lt;section&gt;`、`&lt;article&gt;`等,以及用于定义多媒体内容的`&lt;audio&gt;`、`&lt;video&gt;`等。学习HTML时,理解每个标签的作用并熟练运用,是创建功能...

    html学习笔记(含标签单词解释)

    本学习笔记旨在详细介绍HTML的基本概念、常用标签及其英文单词解释,帮助初学者更好地理解和运用HTML。 一、HTML基本结构 HTML文档通常以`&lt;!DOCTYPE html&gt;`开头,声明当前文档为HTML5标准。接着是`&lt;html&gt;`标签,它...

    html学习笔记

    本学习笔记将深入探讨HTML的核心概念、语法结构以及在实际开发中的应用。 1. HTML基础概念 HTML由一系列元素组成,这些元素以开始标签和结束标签的形式存在,例如`&lt;p&gt;`和`&lt;/p&gt;`代表一个段落。每个元素都有其特定的...

    html5在移动领域开发学习笔记(ppt版)

    HTML5是下一代网页标准,它的...通过学习这个HTML5在移动领域开发的学习笔记,你可以深入了解这些技术,结合实际案例进行练习,从而成为一名熟练的HTML5移动应用开发者。记住,不断实践和探索是掌握新技术的最佳途径。

    Html5原生游戏开发学习笔记.zip

    这篇学习笔记将深入探讨HTML5游戏开发的关键技术和实践方法。 首先,我们要理解HTML5的基础。HTML5是超文本标记语言的最新版本,它增强了网页的结构化和语义化能力,引入了新的元素如`&lt;canvas&gt;`、`&lt;audio&gt;`和`...

    HTML学习笔记_zhr1226.rar

    HTML5引入了许多新特性,如`&lt;canvas&gt;`用于画布绘图,`&lt;audio&gt;`和`&lt;video&gt;`支持多媒体播放,`&lt;section&gt;`、`&lt;article&gt;`、`&lt;header&gt;`、`&lt;footer&gt;`等语义化标签,以及离线存储`&lt;application cache&gt;`等。这些新元素和属性...

Global site tag (gtag.js) - Google Analytics