H5学习系列之Audio和Video
1、视频文件:音频轨道、视频轨道和一些元数据(视频封面、标题、子标题、字幕等相关信息)。
2、目前H5还不支持的:流式音频和视频(H5对视频的支持只限于加载的全部媒体文件)、H5的媒体收到跨域资源共享的限制、全屏无法通过脚本控制。
3、检测浏览器是否具有播放视频的功能
var canPlay = document.createElement("video").canPlayType;
if (canPlay) {alert("ok");}
else {alert('error');} //其实就是检测浏览器是否具有canplaytype函数
4、audio
<audio controls src="/张含韵 - 问别.mp3">
An audio clip from johann sebastian bach
</audio>
代码中controls 特性告诉浏览器显示通过的用户控制(开始、停止、跳播、以及音量控制),她之间的内容是为不支持audio元素的浏览器准备的替换内容
<audio controls >
<source
src="" />
<source
src="" />
An audio clip from johann sebastian bach
</audio>
浏览器根据自身播放能力自动选择,挑选最贱的来源进行播放
autoplay属性:加载完成后自动播放(ios不支持)
5、var
docu = document.getElementById("audio");//同时适用于video这些属性他们两个相同
var duration = docu.duration;//整个媒体的播放时常 以s为单位
var paused = docu.paused;//如果媒体文件当前被暂停(或者未播放),返回true
var ended = docu.ended;//如果文件已经播放完毕了返回true
var currentSrc = docu.currentSrc;//以字符串形式返回当前正在播放文件对应于浏览器在source元素中选择的文件
//以上都是只读属性
docu.autoplay = true;//查询或者设置自动播放
docu.loop = true;//查询或者设置循环播放
docu.currentTime = "30";//查询或者只当前播放的位置
docu.controls = true;//查询或者设置用户与控制界面
docu.volume = 0.5;//查询或者设置音量0.0到1.0
docu.muted = false;//查询或者设置是否静音
docu.autobuffer
= true;//通知播放器在媒体文件开始播放前,是否进行缓冲加载。(如果媒体文件已设置为autoplay,则忽略此属性)
6、video特有的属性
poster
:在视频加载完成之前 图片得url;
width、height:读取或设置显示尺寸。如果设置的宽度与视频本身不匹配,可能导致居中显示,上下或者左右可能出现黑色条状区域。
videowidth、videoHeight:返回视频的固有或者自适应的宽度和高度(只读)
onloadstart //客户端开始请求数据
onprogress //客户端正在请求数据
onsuspend //延迟下载
onabort //客户端主动终止下载(不是因为错误引起)
onerror //请求数据时遇到错误
onstalled //网速失速
onplay //play()和autoplay开始播放时触发
onpause //pause()触发
onloadedmetadata //成功获取资源长度
onloadeddata //
onwaiting //等待数据,并非错误
onplaying //开始回放
oncanplay //可以播放,但中途可能因为加载而暂停
oncanplaythrough //可以播放,歌曲全部加载完毕
onseeking //寻找中
onseeked //寻找完毕
ontimeupdate //播放时间改变
onended //播放结束
onratechange //播放速率改变
ondurationchange //资源长度改变
onvolumechange //音量改变
以上所有事件都是可以捕捉到的
H5学习系列之Audio和Video的更多相关文章
- H5学习系列之Geolocation API
获取位置信息途径: 1.IP地址地理定位数据 2.GPS地理定位数据 3.WI-FI地理定位数据 4.手机地理定位数据 无废话直接上重点:navigator.geolocation对象就是获取地理位置 ...
- H5学习系列之文件读取API--本文转自http://blog.csdn.net/jackfrued/article/details/8967667
HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型. FileReader的使用方式非常简 ...
- H5学习系列之Communication API
1 .postMessage API 首先介绍一下什么是iframe? 百度百科里这样写道:IFRAME,HTML标签,作用是文档中的文档,或者浮动的框架(FRAME). 我的理解就是网页中的网页. ...
- H5学习笔记1
H5学习笔记 1.创建超链接: target=”_blank”:链接的目标网页会在新的窗口中打开. target=”_parent”:链接的目标会在当前窗口中打开,如果在框架网页中,则会在上一层框架打 ...
- Html5学习系列
Html5学习系列 HTML5 规定了一种通过 video 元素来包含视频的标准方法 Ogg = 带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件 MPEG4 = 带有 H.26 ...
- 深度学习系列 Part(3)
这是<GPU学习深度学习>系列文章的第三篇,主要是接着上一讲提到的如何自己构建深度神经网络框架中的功能模块,进一步详细介绍 Tensorflow 中 Keras 工具包提供的几种深度神经网 ...
- Wechat 微信端正确播放audio、video的姿势
在开发微信项目时,有在项目中播放音频(audio)和视频(video)的需求: 在开发中,我们会遇到的问题 audio.video在Android和IOS系统上的兼容性: video播放完成后,跳出浏 ...
- DocX开源WORD操作组件的学习系列二
DocX学习系列 DocX开源WORD操作组件的学习系列一 : http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_sharp_001_docx1.htm ...
- Android+Jquery Mobile学习系列(6)-个人信息设置
本节开始,进行代码的实战练习.我的这个App是管理保险客户信息的,数据采用Sqlite存储在本地手机上,第一次使用需要先登记自己的个人信息,这个功能非常简单,也无关紧要,我是拿这个练手,方便做后面复杂 ...
随机推荐
- 冲刺一 (Day 2)
冲刺一 (Day 2) 小组讨论结果 经过今天的小组会议,小组各成员决定先进一步探讨项目的需求.因为我们明白要砍倒一棵树,磨刀才是前期的重中重之重,实际中也有不少以为前期需求没做好而,在项目后期推翻重 ...
- Android IOS WebRTC 音视频开发总结(八十七)-- WebRTC中丢包重传NACK实现分析
本文主要介绍WebRTC中丢包重传NACK的实现,作者:weizhenwei ,文章最早发表在编风网,微信ID:befoio 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID ...
- JAVA代码热部署,在线不停服动态更新
本地debug的时候,可以实时编译并更新代码,线上也可以不停服来动态更新类,即所说的java热部署. JDK代理的两种方式: 1.premain方式是Java SE5开始就提供的代理方式,但其必须 ...
- Android 6.0权限适配
targetSdkVersion 23以上,必须适配新的权限模式 安卓6.0及之后,权限分为三类 1.不涉及隐私的正常权限,如innernet2.危险权限 3.特殊权限 system_alert_w ...
- 在linux下写一只优雅的爬虫---优雅的获取沈航所有学生的个人信息
一:ubuntu下安装python集成环境pycharm以及免费激活 安装 首先去下载最新的pycharm 2016.2.3,进行安装.可以直接在官网下载.选择自己所对应的版本 PyCharm 的激活 ...
- matplotlib 显示中文 与 latex冲突
如果在使用中文之前包含了使用latex的语法: mpl.rcParams['text.usetex'] = True 将不能正确显示含有中文的图片. 附 显示中文的方法: from matplotli ...
- 【转】如何在Mac系统中安装R的rattle包
[转自知乎]:https://www.zhihu.com/question/28944497 1. 安装 xquartz (http://xquartz.macosforge.org)2. 安装 GT ...
- git命令解析
一 常用命令 1..gitignore 文件为git忽略文件,例*.[oa] *.~ 为忽略.a或.o或.~结尾的文件./表示忽略目录,!表示反取, *表示匹配零个或者多个字符.?表示匹配一个字符. ...
- IndexedDB参考资料网址
IndexedDB:浏览器里内置的数据库, Web骇客 http://www.webhek.com/indexeddb/ 前端的数据库:IndexedDB入门(很全面) http://web.jobb ...
- [Tomcat 源码分析系列] (一) : Tomcat 启动脚本-startup.bat
概述 我们通常使用 Tomcat 中的 startup.bat 来启动 Tomcat. 但是这其中干了一些什么事呢? 大家都知道一个 Java 程序需要启动的话, 肯定需要 main 方法, 那么这个 ...