前  言

现在网上有许多的框架和插件,能够满足程序猿的各种需求,慢慢的,就有些忽视最基础的东西。

比如,大多数视频是通过插件(比如 Flash)来显示的。然而,并非所有浏览器都拥有同样的插件。

HTML5 规定了一种通过 video 元素来包含视频的标准方法。

所以,今天影子向大家介绍的,就是HTML5对音视频的处理。

 

一、 优势

1 关于视频不用插件播放,点击就能看
2 跨平台、好升级、好维护,开发成本相对原生APP低很多
3 对移动的良好支持,支持手势,本地存储和视频续播等,通过H5就可以把自己的网站移动化。
4 更为简洁的代码,更好的交互
5 支持游戏开发

二、 兼容性
<video id="video">
<source src="movie/chenai.mp4"></source>
您的浏览器不支持 HTML5 video 标签。
</video>

注释:

  <video> 与</video> 标签之间插入的内容是提供给不支持 video 元素的浏览器显示的。

  即,如果,浏览器不支持,则会显示" 您的浏览器不支持 HTML5 video 标签。 "。

三、 两种方式
          // 方式一
<video src="movie/chenai.mp4h"loop="loop"></video> // 方式二
<video width="320" height="240">
<source src="movie/chenai.mp4"></source>
</video>

注释:

  <video> 元素元素提供了 width 和 height 属性控制视频的尺寸.如果设置的高度和宽度,所需的视频空间会在页面加载时保留。。如果没有设置这些属性,浏览器不知道大小的视频,浏览器就不能再加载时保留特定的空间,页面就会根据原始视频的大小而改变。

四、video标签的新增属性

1、controls:给视频添加播放控件。如:开始。暂停
  2、autoplay:视频就绪后马上播放
  3、loop:表示循环播放
  4、muted:表示视屏静音输出

五、 用于操作DOM的方法和属性

5.1用于操作DOM的方法

 1、play():表示视频播放
   2、pause():表示视频暂停

5.2用于操作DOM的属性

1、paused:设置或返回音视频是否被暂停
  2、autoplay:设置或返回音视频加载完之后是否立即播放
  3、controls:设置或返回音视频是否添加控件
  4、duration:获取音视频的总时间,单位:秒
  5、currentTime:获取当前播放时间
  6、defaultMuted:设置音视频是否静音输出 true -- 静音  默认false,不静音
  7、muted:设置或返回当前播放音视频是否是静音输出。true -- 静音  false --- 不是静音
  8、playbackRate:设置音视频播放速度。1.0表示正常;0.5表示半速;2.0表示倍速
  9、loop:设置是否循环播放。true -- 循环播放   false -- 不循环播放
  10、volume:设置或返回音视频的音量。介于1~0之间的数
  11、ended:返回音视频是否播放结束。false -- 未结束  true -- 已结束

六、 实例

6.1内代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
video{
width: 600px;
height:500px;
}
</style>
</head>
<body> <!--<video src="movie/chenai.mp4h"loop="loop"></video>-->
<video id="video">
<source src="movie/chenai.mp4"></source>
您的浏览器不支持 HTML5 video 标签。
</video> <br />
<button onclick="bofang()">点击播放/暂停</button>
<button onclick="timeAll()">点击获取总时间 </button>
<button onclick="timeBf()">点击获取当前时间 </button>
<button onclick="jingyin()">点击静音 </button>
<button onclick="yinliang()">点击获取音量 </button>
<button onclick="end()">是否播放结束 </button>
</body>
<script type="text/javascript"> var video = document.getElementById("video"); //点击播放或暂停
function bofang(){
if (video.paused) {//播放状态:是否暂停
video.play();
}else video.pause();
}
video.autoplay = true;
video.controls = false; function timeAll(){
alert(video.duration); // -- 音视频的总时间
} function timeBf(){
alert(video.currentTime);// -- 当前时间
} video.defaultMuted = false; function jingyin(){
if (video.muted == false) video.muted = true;
else video.muted = false;
} video.playbackRate = 1.0; // -- 改变播放速度
video.loop = true; // -- 是否循环播放 function yinliang(){ video.volume = 0.5;
alert(video.volume);
} function end(){
alert(video.ended);
}
</script>
</html>

6.2效果

今天,影子主要是分享的对视屏的处理,那是因为,音频的处理只是换成了audio便签而已,所以,影子就不多啰嗦了。相信大家也是理解的。

HTML5对音视频的处理的更多相关文章

  1. HTML5 多媒体音视频处理

    HTML5 多媒体音视频处理 版权声明:未经博主授权,内容严禁转载 ! 音频处理 - audio HTML5 Audio 音频 目前大多数音频是通过哦插件的形式来播放的. 不同浏览器在网页上播放音频的 ...

  2. asp.net core 中配合响应 html5 的音视频播放流,以及文件下载

    一.asp.net core 中配合响应 html5 的音视频播放流,以及文件下载 问题描述: 目前测试了在 Windows(谷歌浏览器).Android(系统浏览器.QQ.微信).iOS 三个系统不 ...

  3. HTML5笔记2——HTML5音/视频标签详解

    音视频的发展史 早期:<embed>+<object>+文件 问题:不是所有浏览器都支持,而且embed不是标准. 现状:Realplay.window media.Quick ...

  4. HTML5中的音视频处理

    * 音视频处理 * 视频处理 * 基本内容 * 使用Flash技术处理HTML页面中的视频内容 * 包含音频.动画.网页游戏等 * 特点 * 浏览器原生不支持(IE浏览器要求安装ActiveX组件) ...

  5. HTML5音/视频标签详解

    一.发展历: 早期:<embed>+<object>+文件   问题:不是所有浏览器都支持,而且embed不是标准.   现状:Realplay.window media.Qu ...

  6. Android IOS WebRTC 音视频开发总结(八十五)-- 使用WebRTC广播网络摄像头视频(下)

    本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...

  7. Android IOS WebRTC 音视频开发总结(五四)-- WebRTC标准之父谈WebRTC

    本文主要是整理自国内首届WebRTC大会上对Daniel的一些专访,转载必须说明出处,欢迎关注微信公众号blacker,更多说明详见www.rtc.help 说明:以下内容主要整理自InfoQ的专访, ...

  8. Android IOS WebRTC 音视频开发总结(四五)-- ORTC背后的真相

    本文主要介绍ORTC(Object Real-time Communication),支持原创,文章来自博客园RTC.Blacker,支持原创,转载必须说明出处,更多详见www.rtc.help. - ...

  9. Android IOS WebRTC 音视频开发总结(九)-- webrtc入门001

    下面这篇介绍webrtc的文章不错,我花了大半天翻译了一下. 翻译的时候不是逐字逐句的,而是按照自己的理解翻译的,同时为了便于理解,也加入一些自己组织的语言. 本文主要介绍webrtc的信令,stun ...

随机推荐

  1. K相邻算法

    刚开始学习机器学习,先跟这<机器学习实战>学一些基本的算法 ----------------------------------分割线--------------------------- ...

  2. 为什么ABAP开发者需要使用面向对象技术?

    ABAP对面向对象的支持已有十多年的历史,然而在生产实践中,我们对这门技术的应用十分有限. 一方面,面向过程的惯性长期存在着:另一方面,对于大部分二次开发工作而言,似乎并没有足够的理由促使开发者使用面 ...

  3. 用java编写一个微博登陆页面

    上次也写了一个微博登陆页面,不过功能还不够完善.今天重新完善了一些功能,分享出来给大家. 基本功能如下: (1)具有类似新浪微博的用户注册图形界面. (2)使用用户名或手机号注册,注册时需要提供新密码 ...

  4. vue2组件之select2调用

    目前,项目中使用了纯前端的静态项目+RESTFul接口的模式.为了更好的对数据进行操作,前端使用了vue2的mvvm功能,但是由于不是单页面应用,所以,并没有涉及到其它的如vue-route等功能,也 ...

  5. 提取多层嵌套Json数据

    在.net 2.0中提取这样的json {"name":"lily","age":23,"addr":{"ci ...

  6. 深入浅出WPF——附加事件(Attached Event)

    3.3 事件也附加——深入浅出附加事件 WPF事件系统中还有一种事件被称为附加事件(Attached Event),简言之,它就是路由事件.“那为什么还要起个新名字呢?”你可能会问. “身无彩凤双飞翼 ...

  7. 使用邮件监控Mxnet训练

    1. 前言 受到小伙伴的启发,就自己动手写了一个使用邮件监控Mxnet训练的例子.整体不算复杂. 2. 打包训练代码 需要进行监控训练,所以需要将训练的代码打包进一个函数内,通过传参的方式进行训练.还 ...

  8. win10 uwp 无法附加到CoreCLR

    本文说的是在vs调试无法附加到CoreCLR.拒绝访问.已经如何去解决,可能带有一定的主观性和局限性,说的东西可能不对或者不符合每个人的预期.如果觉得我有讲的不对的,就多多包含,或者直接关掉这篇文章, ...

  9. PHP中如何定义类及其成员属性与操作

    1.类的定义: i. 类的关键字定义使用class 1.定义一个空类 Class Person{}; 2.定义一个有成员属性和操作的类 Class Person{ 成员属性........ 操    ...

  10. 理解JDK1.5的自动装箱拆箱

    JDK1.5的升级引入了装箱和拆箱概念,简单说就是为了简化书写. JDK1.5之前,创建Integer对象是需要这么写的  Integer i = new Integer("3") ...