html5视频播放插件
对于HTML5提供的新特性,给前端开发者带来了巨大的激情与动力,减轻了开发者的代码累赘,大大提高了网站性能以及网页的渲染效果。对于低版本的浏览器,由于生产厂商的原因,许多PC端低版本的浏览器还不兼容HTML5提供的新特性,不过对于移动端的大部分浏览器都已支持HTML5的新特性了,运用官网提供的jQuery mobile插件,开发出移动设备上的web app,渲染效果也是极好的。
对于视频播放插件来说,HTML5提供了一个很好的特性:Video,并提供了很多标签属性,使用方法如下:
<video src="视频URL" controls="controls"></video>
| 属性 | 值 | 描述 |
| autoplay | autoplay | 如果出现该属性,则视频在就绪后马上播放。 |
| controls | controls | 如果出现该属性,则向用户显示控件,比如播放按钮。 |
| height | pixels | 设置视频播放器的高度。 |
| loop | loop | 如果出现该属性,则当媒介文件完成播放后再次开始播放。 |
| preload | preload | 如果出现该属性,则视频在页面加载时进行加载,并预备播放。 |
| src | url | 要播放的视频的 URL。 |
| width | pixels | 设置视频播放器的宽度。 |
一个简单的视频播放插件就OK了,让我们来试试。
<video src="http://consumer.huawei.com/cn/ucmf/groups/public/documents/consumer_video/huawei-mates-tvc-cn.mp4" controls="controls" autoplay="autoplay"></video>
当然,我们也可以自定义一个漂亮的视频播放插件,也可以把大牛们写好的漂亮插件直接拿来用,百度一下HTML5视频插件,会出现很多结果供你选择,在这里我用项目中用到的一个插件来举例,看看大牛们的插件是如何运用的。
首先,先把布局弄好,在页面中中放好一个视频。
<div class="video-item y-lists" video="HUAWEI-MATES-TVC-CN" data-video-id="1">
<a class="a-2 img_link poster" name="consumer.huawei.com/cn/ucmf/groups/public/documents/webasset/hw_453469.jpg" alt="http://consumer.huawei.com/cn/ucmf/groups/public/documents/consumer_video/huawei-mates-tvc-cn.mp4" onclick="javascript:return true;"><img height="86" complete="complete" width="156" alt="HUAWEI Mate S广告视频" src="http://consumer.huawei.com/cn/ucmf/groups/public/documents/webasset/hw_453469.jpg"><div class="play"></div></a>
</div>
css样式如下:
.video-item {
position: relative;
float: left;
width: 330px;
height: 450px;
margin: 15px 110px 15px 0;
overflow: hidden;
border-color: #EEEEEE;
border-style: solid;
border-width: 0 0 1px;
}
.video-item .poster {
position: relative;
width: 320px;
height: 180px;
cursor: pointer;
background-size: 100% auto;
background-repeat: no-repeat;
}
.a-2 {
display: block;
border: 2px solid #CCCCCC;
}
.video-item img {
display: block;
width: 320px;
height: 180px;
}
.video-item .poster .play {
position: absolute;
top: 73px;
left: 145px;
width: 35px;
height: 35px;
background-size: 100% auto;
background-repeat: no-repeat;
background-image: url(http://consumer.huawei.com/cn/ucmf/groups/public/documents/webasset/img_con_cn_press_video_play.png);
}
.fancybox-overlay .fancybox-close {
top: -45px;
right: -45px !important;
width: 50px;
height: 50px;
background-image: url(http://consumer.huawei.com/cn/ucmf/groups/public/documents/webasset/img_con_cn_press_video_close.png);
}
好了,页面就放置了需要播放的视频了,下面就是如何运用视频插件来播放视频了
首先,我们需要引用几个视频播放插件的js文件
<script type="text/javascript" src="http://consumer.huawei.com/cn/ucmf/groups/public/documents/webasset/swfobject.js"></script>
<script type="text/javascript" src="http://consumer.huawei.com/cn/ucmf/groups/public/documents/webasset/jwplayer_cej.js"></script>
<a href="http://consumer.huawei.com/cn/ucmf/groups/public/documents/webasset/jwplayer_cej_flash.swf" name="forsspu"></a>
<link rel="stylesheet" href="http://consumer.huawei.com/cn/ucmf/groups/public/documents/webasset/css_con_cn_press_video.css" /> <!--视频插件样式-->
<script src="http://consumer.huawei.com/cn/ucmf/groups/public/documents/webasset/script_con_cn_press_video.js"></script> <!--视频插件代码-->
然后,我们需要些点击事件,对视频进行播放
<script>
function onClickVideo($this){
var videoPath=$($this).attr("alt");
var imgSrc=$($this).attr("name");
var player = {
id: "x-player",
file: videoPath,
image: imgSrc,
aspectratio: "16:9",
width: "100%",
autostart: true,
flashplayer:"http://consumer.huawei.com/en/ucmf/groups/public/documents/webasset/jwplayer_cej_flash.swf"
};
// Force using flash player in ie9
if ($('html').hasClass('ie9')) {
player.primary = 'flash';
}
var width = 960, height = 900;
if (typeof (player.aspectratio) == 'string' && /^[0-9]{1,2}:[0-9]{1,2}$/.test(player.aspectratio)) {
var ratio = player.aspectratio.split(':');
height = width * parseInt(ratio[1]) / parseInt(ratio[0]);
}
$.fancybox('<div id="' + player.id + '" class="cbg-jwplayer"></div>', {
width: width, height: height, padding: 0, margin: 40, autoSize: false, aspectRatio: true, scrolling: 'no',
afterShow: function () {
try {
jwplayer(player.id).setup(player);
} catch (e) {
console.log(e);
}
},
afterClose: function () {}
});
}
$(".video-item .poster").click(function(){
onClickVideo($(this));
})
</script>
到此,一个完整的视频播放就OK了。
不兼容问题
html5视频播放插件的更多相关文章
- HTML5视频播放插件 video.js介绍
video.js是一款很流行的html5视频播放插件.很适合在移动端播放视频(比如微信网页),功能强大,且支持降级到flash,兼容ie8.官网:http://videojs.com/ git& ...
- html5 视频播放插件
HTML5中加入了浏览器非常友好的标签 <video> ,这个标签非常的厉害,它可以不依靠falsh播放器,在网页中播放视频,目前W3C提供的video只支持mp4,ogg,webm三种视 ...
- HTML5视频播放插件Video.js使用详解
一.Video.js简介 Video.js 是一个开源的 Html5 jquery 视频插件,这个插件可以用来处理 Flash 视频,它还是一个多平台支持的产品. Moreover,YouTube,V ...
- [开发笔记]-flowplayer视频播放插件
最近项目中需要添加播放视频的功能,视频文件是flv格式的.在网上找了一些jQuery视频播放插件,还是觉得“flowplayer”要好一些.特将使用方法记录一下. flowplayer也有html5版 ...
- flowplayer视频播放插件
flowplayer视频播放插件 最近项目中需要添加播放视频的功能,视频文件是flv格式的.在网上找了一些jQuery视频播放插件,还是觉得“flowplayer”要好一些.特将使用方法记录一下. f ...
- html5视频播放解决方案
关键词:html5 nativeapp webapp mp4 H.264 html5没学习之前总觉的很神秘.近期通过学习和研究html5有点成果,特总结分享给大家.众所周知应用开发分两种:一是原生的 ...
- flowplayer视频播放插件[转]
最近项目中需要添加播放视频的功能,视频文件是flv格式的.在网上找了一些jQuery视频播放插件,还是觉得“flowplayer”要好一些.特将使用方法记录一下. flowplayer也有html5版 ...
- web视频播放插件:Video For Everybody
相比其它的web视频播放插件(video.js , jwplayer等)来说,Video For Everybody(极力推荐)是一款更好的视频播放插件,无需任何下载,支持html5以及flash播放 ...
- 打造自己的html5视频播放器
前段时间重新学习了一下html5的video部分,以前只是停留在标签的使用上,这一次决定深入了解相关的API,并运用这些API打造一个简单的视频播放器.所谓“打造自己的”,就是要自己重写video标签 ...
随机推荐
- 深入理解脚本化CSS系列第四篇——脚本化样式表
× 目录 [1]CSSStyleSheet [2]CSSRule 前面的话 关于脚本化CSS,查询样式时,查询的是计算样式:设置单个样式时,设置的是行间样式:设置多个样式时,设置的是CSS类名.脚本化 ...
- 深入理解DOM节点类型第三篇——注释节点和文档类型节点
× 目录 [1]注释节点 [2]文档类型 前面的话 把注释节点和文档类型节点放在一起是因为IE8-浏览器的一个bug.IE8-浏览器将标签名为"!"的元素视作注释节点,所以文档声明 ...
- Android 内存管理 &Memory Leak & OOM 分析
转载博客:http://blog.csdn.net/vshuang/article/details/39647167 1.Android 进程管理&内存 Android主要应用在嵌入式设备当中 ...
- C++中的内存管理
在C++中也是少不了对内存的管理,在C++中只要有new的地方,在写代码的时候都要想着delete. new分配的时堆内存,在函数结束的时候不会自动释放,如果不delete我分配的堆内存,则会造成内存 ...
- Objective-C中的集合类
下面详细的介绍Objective-C中的集合类以及每个集合类的用法,学过其他面向对象编程语言的小伙伴们看到OC的集合类会有种莫名的亲切感,理解起来问题不大,可以类比Java中的集合类去学习. 在Obj ...
- 使用免费组件view pdf 文档
“Is there any way to view PDF files in a Winforms tool?” 这个是我在技术论坛上发现的一个老外求助的帖子,然后看到别人回复的帖子中建议了一个免费的 ...
- 用backbone实现的一个MVC的小demo
一.Apache配置 本实例需要使用php支持.要现在Apache中配置虚拟目录,在Apache下的httpd-vhosts.conf文件中添加如下代码 <VirtualHost *:80> ...
- 关于JavaScript预编译和执行顺序以及函数引用类型的思考
昨晚在对项目中的一部分做模块化处理的时候,遇到了一个问题,一个重新定义的function对一个通用类中的function进行赋值覆盖的时候,失败了.问题抽象出来是这样的: <script > ...
- jQuery.grep()
什么是jQuery.grep()? jQuery.grep()是一个查找满足过滤函数的数组元素的函数.原始数组不受影响,返回值为数组. 用法介绍: 写法: jQuery.grep( array, fu ...
- C++作用域
作用域通常和变量捆绑在一起,限定了变量可用范围,同时也规定了变量的生命周期:何时创建.何时销毁.作用域通常分为:全局作用域和局部作用域. 全局作用域(全局变量) 在所用函数体外部定义的变量就是全局变量 ...