jQuery多媒体插件jQuery Media Plugin使用详解


Posted in Javascript onDecember 19, 2014

jQuery Media Plugin是一款基于jQuery的网页媒体播放器插件,它支持大部分的网络多媒体播放器和多媒体格式,比如:Flash, Windows Media Player, Real Player, Quicktime, MP3,Silverlight, PDF。它根据当前的脚本配置,自动将a标签替换成div,并生成object, embed甚至是iframe代码,至于生成object还是embed,jQuery Media会根据当前平台自动判别,因此兼容性方面非常出色。下面这段代码是jQuery Media生成后的结果:

 <div class="media"> 

    <object width="450" height="250" attr1="attrValue1" attr2="attrValue2"

        codebase="http://www.apple.com/qtactivex/qtplugin.cab"

        classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"> 

        <param name="src"      value="myBetterMovie.mov"> 

        <param name="autoplay" value="true"> 

        <param name="param1"   value="paramValue1"> 

        <param name="param2"   value="paramValue2"> 

        <embed width="450" height="250" src="myBetterMovie.mov" autoplay="true"

            attr1="attrValue1" attr2="attrValue2" param1="paramValue1" param2="paramValue2"

            pluginspage="http://www.apple.com/quicktime/download/" > </embed> 

    </object> 

</div>

具体使用方法

html标记代码

<a class="media" href="sample.mov">My Quicktime Movie</a>

<a class="media" href="sample.swf">My Flash Movie</a>

<a class="media" href="sample.wma">My Audio File</a>

初始化脚本:

$('.media').media();

选项

可以通过脚本对象或者jQuery Metadata Plugin来配置参数。

全局默认值:

$.fn.media.defaults = {

preferMeta: 1, // 如果为true, 则标记的meta值优先于脚本对象

autoplay: 0, // 标准化的跨播放器设置

bgColor: '#ffffff', // 背景颜色

params: {}, // 作为param元素添加到object标记中;作为属性添加到embed标记中

attrs: {}, // 作为属性添加到object以及embed中

flashvars: {}, // 作为flashvars参数或属性添加到flash中

flashVersion: '7', // 需要的最低flash版本

// 默认的flash视频和mp3播放器 // @see: http://jeroenwijering.com/?item=Flash_Media_Player

flvPlayer: 'mediaplayer.swf',

mp3Player: 'mediaplayer.swf',

// Silverlight选项 // @see http://msdn2.microsoft.com/en-us/library/bb412401.aspx

silverlight: {

  inplaceInstallPrompt: 'true', // 在适当的位置显示安装提示

  isWindowless: 'true', // 无窗口模式

  framerate: '24', // 最大帧速率

  version: '0.9', // Silverlight版本 onError: null, // onError回调函数

  onLoad: null, // onLoad回调函数

  initParams: null, // 对象初始化参数

  userContext: null // 传到load回调函数的参数

  }

};

我们也可以在执行初始化脚本的时候传入一些option参数进去,如下代码:

$('.media').media( { width: 400, height: 300, autoplay: true } );

再如代码:

$('.media').media({

  width: 450,

  height: 250,

  autoplay: true,

  src: 'myBetterMovie.mov',

  attrs: { attr1: 'attrValue1', attr2: 'attrValue2' }, // object/embed attrs

  params: { param1: 'paramValue1', param2: 'paramValue2' }, // object params/embed attrs

  caption: false // supress caption text

});

'src'选项

src选项指定了媒体文件的地址。它没有全局的默认值。如果未显示指定src选项的值,jQuery Media Plugin将使用href或者src属性的值来代替。

播放器和格式

jQuery Media Plugin默认为播放器和格式如下表所示:

播放器 文件格式
Quicktime aif,aiff,aac,au,bmp,gsm,mov,mid, midi,mpg,mpeg,mp4,m4a,psd,qt,qtif, qif,qti,snd,tif,tiff,wav,3g2,3pg
Flash flv, mp3, swf
Windows Media Player asx, asf, avi, wma, wmv
Real Player ra, ram, rm, rpm, rv, smi, smil
Silverlight xaml
iframe html, pdf

上表说明了,mp3格式被自动对应到了flash播放器。全局配置中的$.fn.media.defaults.mp3Player指定MP3媒体由 mediaplayer.swf文件播放。该swf文件是一个小型的mp3和flash视频播放器,可以从这里下载:http://www.longtailvideo.com/players/jw-flv-player/

SWFObject

这个脚本很常见,用来将Flash内容嵌入到网页中,你不用考虑不同平台的Flash嵌入方式。但这个文件并非必需。如果它加载了,jQuery Media Plugin将使用它,反之jQuery Media Plugin将按自己的默认方式生成object/embed标记。更多信息可以参考:http://code.google.com/p/swfobject/

iframe Player

默认情况下,PDF和HTML格式被映射到了iframe。它们将显示在iframe中而非object/embed标记中。

添加或者修改格式关联

这个操作可以由插件的mapFormat方法实现,如

$.fn.media.mapFormat('mp3','quicktime');
可用的播放器有:uicktime, flash, realplayer, winmedia, silverlight和iframe,确保播放器能够播放关联到它的文件格式。

下载

直接下载jquery.media.js文件,或者在Github上下载历史版本

注意:

此插件会把<a>转化为<div> 从而嵌套多媒体内容。此插件像其它的Jquery插件一样 简单易用。

Javascript 相关文章推荐
List Information About the Binary Files Used by an Application
Jun 11 Javascript
JavaScript 变量命名规则
Sep 23 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
Oct 11 Javascript
javascript连续赋值问题
Jul 08 Javascript
关于javascript的一些知识以及循环详解
Sep 12 Javascript
JQuery实现动态操作表格
Jan 11 Javascript
react实现点击选中的li高亮的示例代码
May 24 Javascript
微信小程序仿RadioGroup改变样式的处理方案
Jul 13 Javascript
vue双向绑定及观察者模式详解
Mar 19 Javascript
解决layer.msg 不居中 ifram中的问题
Sep 05 Javascript
谈谈我在vue-cli3中用预渲染遇到的坑
Apr 22 Javascript
Vue如何基于vue-i18n实现多国语言兼容
Jul 17 Javascript
jquery图片播放浏览插件prettyPhoto使用详解
Dec 19 #Javascript
js中匿名函数的创建与调用方法分析
Dec 19 #Javascript
浅谈Javascript中匀速运动的停止条件
Dec 19 #Javascript
浅谈Javascript如何实现匀速运动
Dec 19 #Javascript
Javascript添加监听与删除监听用法详解
Dec 19 #Javascript
Javascript 实现图片无缝滚动
Dec 19 #Javascript
使用JavaScript获取地址栏参数的方法
Dec 19 #Javascript
You might like
PHP 输出缓存详解
2009/06/20 PHP
九个你必须知道而且又很好用的php函数和特点
2013/08/08 PHP
PHP swfupload图片上传的实例代码
2013/09/30 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
Zend Framework教程之MVC框架的Controller用法分析
2016/03/07 PHP
php实现无限级分类查询(递归、非递归)
2016/03/10 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
2018/05/23 PHP
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
用JavaScript修改CSS属性的代码
2013/05/06 Javascript
Javascript脚本实现静态网页加密实例代码
2013/11/05 Javascript
AspNet中使用JQuery boxy插件的确认框
2015/05/20 Javascript
jQuery代码实现图片墙自动+手动淡入淡出切换效果
2016/05/09 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
2016/06/03 Javascript
AngularJS 与百度地图的结合实例
2016/10/20 Javascript
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
Vue中多元素过渡特效的解决方案
2020/02/05 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
[46:43]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第二局
2016/03/02 DOTA
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
pip安装python库的方法总结
2019/08/02 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
汽车专业毕业生推荐信
2013/11/12 职场文书
幼儿园中秋节活动方案
2014/02/06 职场文书
大三学习计划书范文
2014/05/02 职场文书
阅兵口号
2014/06/19 职场文书
明星员工获奖感言
2014/08/14 职场文书
韩语专业职业生涯规划范文:成功之路就在我们脚下
2014/09/11 职场文书
2015年检验科工作总结
2015/04/27 职场文书
九年级英语教学反思
2016/02/15 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
python之PySide2安装使用及QT Designer UI设计案例教程
2021/07/26 Python
MySQL如何使备份得数据保持一致
2022/05/02 MySQL