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 相关文章推荐
Mootools 1.2 手风琴(Accordion)教程
Sep 15 Javascript
JS全局变量和局部变量最新解析
Jun 24 Javascript
JavaScript新增样式规则(推荐)
Jul 19 Javascript
如何用JS判断两个数字的大小
Jul 21 Javascript
Javascript中字符串replace方法的第二个参数探究
Dec 05 Javascript
JavaScript用JSONP跨域请求数据实例详解
Jan 06 Javascript
详解AngularJS ng-class样式切换
Jun 27 Javascript
详解Vue、element-ui、axios实现省市区三级联动
May 07 Javascript
vue以组件或者插件的形式实现throttle或者debounce
May 22 Javascript
JavaScript canvas绘制圆弧与圆形
Feb 18 Javascript
详解vue组件之间的通信
Aug 30 Javascript
Vue2.0 ES6语法降级ES5的操作
Oct 30 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 二级子目录(后台目录)设置二级域名
2017/03/02 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
Js 去掉字符串中的空格(实现代码)
2013/11/19 Javascript
javascript将数字转换整数金额大写的方法
2015/01/27 Javascript
百度地图自定义控件分享
2015/03/04 Javascript
Javascript生成全局唯一标识符(GUID,UUID)的方法
2016/02/27 Javascript
Nodejs中解决cluster模块的多进程如何共享数据问题
2016/11/10 NodeJs
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
JavaScript中最常见的三个面试题解析
2017/03/04 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
2017/10/31 Javascript
vue配置font-awesome5的方法步骤
2019/01/27 Javascript
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
2019/08/06 Javascript
Swiper.js实现移动端元素左右滑动
2019/09/08 Javascript
使用 Opentype.js 生成字体子集的实例代码详解
2020/05/25 Javascript
Python 异常处理的实例详解
2017/09/11 Python
Python爬虫实现爬取京东手机页面的图片(实例代码)
2017/11/30 Python
Python文本特征抽取与向量化算法学习
2017/12/22 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
PyQt5实现简易电子词典
2019/06/25 Python
Python3+Appium安装使用教程
2019/07/05 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
在pycharm中使用pipenv创建虚拟环境和安装django的详细教程
2020/11/30 Python
Python爬虫之Selenium实现键盘事件
2020/12/04 Python
如何转换一个字符串到enum值
2014/04/12 面试题
申报职称专业技术个人的自我评价
2013/12/12 职场文书
高中生家长会演讲稿
2014/01/14 职场文书
ktv好的活动方案
2014/08/17 职场文书
2014年团员学习十八大思想汇报
2014/09/13 职场文书
运动会广播稿100字
2014/09/14 职场文书
干部个人考察材料
2014/12/24 职场文书
幼儿园园长个人总结
2015/03/02 职场文书
小学开学典礼新闻稿
2015/07/17 职场文书
保护环境建议书作文300字
2015/09/14 职场文书
小学语文教学反思范文
2016/03/03 职场文书