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 相关文章推荐
baidu博客的编辑友情链接的新的层窗口!经典~支持【FF】
Feb 09 Javascript
javascript显示隐藏层比较不错的方法分析
Sep 30 Javascript
判断JS对象是否拥有某属性的方法推荐
May 12 Javascript
jQuery简单实现列表隐藏和显示效果示例
Sep 12 Javascript
原生js实现放大镜效果
Jan 11 Javascript
Node.js中环境变量process.env的一些事详解
Oct 26 Javascript
Vue父组件调用子组件事件方法
Feb 23 Javascript
webstorm+vue初始化项目的方法
Oct 18 Javascript
vue路由守卫及路由守卫无限循环问题详析
Sep 05 Javascript
JS 设计模式之:单例模式定义与实现方法浅析
May 06 Javascript
Postman无法正常返回结果问题解决
Aug 28 Javascript
Vue路由 重定向和别名的区别说明
Sep 09 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读取javascript设置的cookies的代码
2010/04/12 PHP
PHP与C#分别格式化文件大小的代码
2011/05/14 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
codeigniter中测试通过的分页类示例
2014/04/17 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(五)
2014/06/23 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
PHP实现统计在线人数功能示例
2016/10/15 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
2016/11/25 PHP
JavaScript 无符号右移赋值操作
2009/04/17 Javascript
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
JS获取iframe中longdesc属性的方法
2015/04/01 Javascript
js性能优化技巧
2015/11/29 Javascript
js控制li的隐藏和显示实例代码
2016/10/15 Javascript
详解React-Native解决键盘遮挡问题(Keyboard遮挡问题)
2017/07/13 Javascript
Vue filters过滤器的使用方法
2017/07/14 Javascript
jQuery插件jsonview展示json数据
2018/05/26 jQuery
详解vue通过NGINX部署在子目录或者二级目录实践
2018/09/03 Javascript
详解关于Vuex的action传入多个参数的问题
2019/02/22 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
vue组件内部引入外部js文件的方法
2020/01/18 Javascript
python入门之语句(if语句、while语句、for语句)
2015/01/19 Python
Python实现堆排序的方法详解
2016/05/03 Python
Python实现二分查找与bisect模块详解
2017/01/13 Python
Python 专题一 函数的基础知识
2017/03/16 Python
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
python 全局变量的import机制介绍
2017/09/07 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
在python中利用opencv简单做图片比对的方法
2019/01/24 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
Python3.7安装pyaudio教程解析
2020/07/24 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
致裁判员加油稿
2014/02/08 职场文书
学校2014年度工作总结
2014/12/06 职场文书
2016学校先进党组织事迹材料
2016/02/29 职场文书
商业计划书如何写?关键问题有哪些?
2019/07/11 职场文书