JQuery多媒体插件jQuery Media Plugin使用详解
malsup jquery media plugin
该插件可以播放多种类型的多媒体文件包括:Flash, Quicktime, Windows Media Player, Real Player, MP3, Silverlight, PDF等。
前提条件是客户端浏览器中装有相应的插件。
该插件主要是将<a>标签转化为<div>,同时生成适合不同类型多媒体文件播放的<Object>对象,起到解析翻译的过程,从而达到多媒体播放的效果。转化过程是在客户端浏览器中实现,所以打开网页到出现播放器之间存在 时间差。
jQuery Media Plugin的主页地址:主页地址
在他的主页demo中已经很详细的讲解了JQuery Media插件的使用
首先是引入相应的js文件
<script type="text/javascript" src="jquery-1.6.min.js"></script>
<script type="text/javascript" src="jquery.media.js"></script>
添加页面加载完毕后需要执行的js代码
<script type="text/javascript">
$(function() {
$('a.media').media();
});
</script>
最后添加<a>标签
FLV<a class="media {width:250, height:250}" href="mediaplayer.swf?file=1.flv"></a>
SWF<a class="media {width:250, height:200}" href="2.swf"></a>
WMA<a class="media {width:480, height:425}" href="3.wma"></a>
WMV<a class="media {width:480, height:425}" href="4.wmv"></a>
AVI<a class="media {width:300, height:300}" href="5.avi"></a>
RM<a class="media {width:300, height:300}" href="6.rm"></a>
<code class="mix"><span class="tag">PDF<a</span>
<span class="aname"> class</span>
=<span class="string">"media"</span>
<span class="aname"> href</span>
=<span class="string">"guice.pdf"</span>
<span class="tag"></span>
<span class="tag"></a></span>
</code>
在浏览器中打开该文件后就能够看到效果,使用火狐浏览器打开源代码生成的内容如下
FLV<div class="media {width:250, height:250}" style="background-color: rgb(255, 255, 255); width: 250px;"><object width="250" height="250" data="mediaplayer.swf?file=1.flv" type="application/x-shockwave-flash"><param value="mediaplayer.swf?file=1.flv" name="src"><param value="#ffffff" name="bgColor"><param value="transparent" name="wmode"><param value="false" name="autoplay"><param value="" name="flashvars"><div><p><strong>需要安装插件或缺少播放器</strong></p><p>请安装Flash插件</p><p><a href="http://www.adobe.com/go/getflashplayer">点击下载</a></p></div></object></div>
SWF<div class="media {width:250, height:200}" style="background-color: rgb(255, 255, 255); width: 250px;"><object width="250" height="200" data="2.swf" type="application/x-shockwave-flash"><param value="2.swf" name="src"><param value="#ffffff" name="bgColor"><param value="transparent" name="wmode"><param value="false" name="autoplay"><param value="" name="flashvars"><div><p><strong>需要安装插件或缺少播放器</strong></p><p>请安装Flash插件</p><p><a href="http://www.adobe.com/go/getflashplayer">点击下载</a></p></div></object></div>
在IE8下生成的代码如下(以flv为例):
FLV
<DIV style="BACKGROUND-COLOR: #ffffff; WIDTH: 250px" class="media {width:250, height:250}" jQuery1606780127202784689="1">
<OBJECT codeBase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7" classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000 width=250 height=250 type=application/x-oleobject>
<PARAM NAME="_cx" VALUE="6614">
<PARAM NAME="_cy" VALUE="6614">
<PARAM NAME="FlashVars" VALUE="">
<PARAM NAME="Movie" VALUE="mediaplayer.swf?file=1.flv">
<PARAM NAME="Src" VALUE="mediaplayer.swf?file=1.flv">
<PARAM NAME="WMode" VALUE="Transparent">
<PARAM NAME="Play" VALUE="0">
<PARAM NAME="Loop" VALUE="-1">
<PARAM NAME="Quality" VALUE="High">
<PARAM NAME="SAlign" VALUE="LT">
<PARAM NAME="Menu" VALUE="-1">
<PARAM NAME="Base" VALUE="">
<PARAM NAME="AllowScriptAccess" VALUE="">
<PARAM NAME="Scale" VALUE="NoScale">
<PARAM NAME="DeviceFont" VALUE="0">
<PARAM NAME="EmbedMovie" VALUE="0">
<PARAM NAME="BGColor" VALUE="FFFFFF">
<PARAM NAME="SWRemote" VALUE="">
<PARAM NAME="MovieData" VALUE="">
<PARAM NAME="SeamlessTabbing" VALUE="1">
<PARAM NAME="Profile" VALUE="0">
<PARAM NAME="ProfileAddress" VALUE="">
<PARAM NAME="ProfilePort" VALUE="0">
<PARAM NAME="AllowNetworking" VALUE="all">
<PARAM NAME="AllowFullScreen" VALUE="false">
<PARAM NAME="AllowFullScreenInteractive" VALUE="">
</OBJECT>
</DIV>
这里需要注意flv格式的文件 ,该类型的显示需要指定swf文件(mediaplayer.swf),若该swf文件与需要播放的flv文件不在同一个目录下(往往都不在同一目录下)或<a>标签中文件引入有路径时,需要注意flv文件的路径,jquery media转化时默认flv文件的目录是在swf目录下,所以flv路径需要处理。可能有其他办法解决,也可能通过修改js文件来解决该问题。
示例:
FLV<a class="media {width:250, height:250}" href="video_files/mediaplayer.swf?file=../video_files/1.flv"></a>
当客户端浏览器未安装相应的插件时,jquery media插件给出了相应的提示信息。
默认信息为:
xxx插件/播放器 Required
xxx插件/播放器 is required to view this media. Download Here.
可以通过修改jquery.media.js文件中该部分文字或样式来完善提示的信息。
具体位置在文件的463行 附近
提示信息修改时需要注意jquery.media.js文件的文件编码需要与html页面一致,否则中文乱码
不知道是我这边客户端的问题还是该插件与浏览器兼容存在问题,当我未安装realplay时,在IE8下RM文件未提示该部分内容,且显示也存在问题,在FF下能够正常显示
JQuery多媒体插件jQuery Media Plugin使用详解的更多相关文章
- Jquery 分页插件 Jquery Pagination
Jquery 分页插件 Jquery Pagination 分页插件来说,我觉得适用就行,尽量简单然后能够根据不同的应用场景能够换肤.展现形式等. 对于初学者想写分页插件的同学,也可以看下源码,代码也 ...
- jQuery滚动条插件 – jquery.slimscroll.js
jquery.slimscroll.js插件是一个支持把内容放在一个盒子里面,固定一个高度,超出的则使用滚动.jquery.slimscroll.js不仅可以定义高度.宽度,还可以定义位置.滚动条大小 ...
- JQuery动画animate的stop方法使用详解
JQuery动画animate的stop方法使用详解 animate语法: 复制代码 代码如下: $(selector).animate(styles,speed,easing,callback) 复 ...
- jQuery分页插件(jquery.page.js)的使用
效果描述: 不用分页即可显示的jQuery插件 jQuery分页插件——jQuery.page.js用法很简单,效果很棒 1.前端 首先html的head中引入相关css与js <lin ...
- 前端html、CSS快速编写代码插件-Emmet使用方法技巧详解
前端html.CSS快速编写代码插件-Emmet使用方法技巧详解 Emmet的前身是大名鼎鼎的Zen coding,如果你从事Web前端开发的话,对该插件一定不会陌生.它使用仿CSS选择器的语法来 ...
- 提高Java代码质量的Eclipse插件之Checkstyle的使用详解
提高Java代码质量的Eclipse插件之Checkstyle的使用详解 CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具.它能够自动化代 ...
- Elasticsearch之sense插件安装之后的浏览详解
前提博客是 Elasticsearch之sense插件的安装(图文详解) 立马,可以看到 http://192.168.80.145:5601/app/sense 以后更新
- js插件---videojs中文文档详解
js插件---videojs中文文档详解 一.总结 一句话总结: js插件网上都有很多参考资料,使用起来也非常简单 二.lavarel中使用实例 <video id="example_ ...
- 使用jQuery的插件jquery.corner.js来实现圆角效果-详解
jquery.corner.js可以实现各种块级元素的角效果,以下为演示,详见jquery_corner.html中的注释部分,并附百度盘下载 jquery_corner.html代码如下: < ...
随机推荐
- paper 28 :一些常见常用数据库的下载网站集锦
做图像处理+模式识别的童鞋怎么可以没有数据库呢? 但是,如果自己做一个数据库,费时费力费钱先不说,关键是建立的数据库的公信力一般不会高,做出的算法也别人也不好比较,所以呢,下载比较权威的公共数据库还是 ...
- oracle的表空间
创建表空间 1:创建单个文件的表空间 CREATE TABLESPACE SAMPLE LOGGING DATAFILE 'D:\11.dbf' SIZE 5M REUSE EXTENT MANAGE ...
- struts拦截器
struts中的拦截器相当于过滤器的作用 一在struts.xml中配置拦截器或拦截器栈 <interceptors>!--全部的拦截器 <interceptor name=&quo ...
- 【rails3教材】博客构建过程
构建rails项目--blog $ rails new blog --skip-bundle $ cd blog $ bundle --local $ bundle install #安装需要的包 $ ...
- 创建数据库和表的SQL语句【转】
创建数据库和表的SQL语句 转至http://www.cnblogs.com/philanthr/archive/2011/08/09/2132398.html 创建数据库的SQL语句: 1 crea ...
- python核心编程学习记录之数字
仅用于整数的操作
- mysql datetime设置now()无效,直接用程序设置默认值比较好
mysql datetime设置now()无效的,没有此用法,datetime类型不能设置函数式默认值,只能通过触发器等来搞.想设置默认值,只能使用timestamp类型,然后默认值设置为:CURRE ...
- Hibernate,JPA注解@ManyToMany_JoinTable
可以通过@ManyToMany注解可定义的多对多关联.同时,也需要通过注解@JoinTable描述关联表和关联条件.如果是双向关联,其中一段必须定义为owner,另一端必须定义为inverse(在对关 ...
- Lucas定理模板
用于大组合数对p取模的计算. #include <cstdio> #include <iostream> #include <cmath> #include < ...
- 【转】Android WebView 播放视频总结
今天发现 WebView里播放优酷的视频点击播放按钮后没反应,于是看官方文档和搜索解决,下面是我在别人基础上做的补充: android webView 无法播放视频,无法暂停,继续播放视频问题,无 ...