jQuery多媒体插件jQuery Media Plugin使用详解
jQueryMediaPlugin是一款基于jQuery的网页媒体播放器插件,它支持大部分的网络多媒体播放器和多媒体格式,比如:Flash,WindowsMediaPlayer,RealPlayer,Quicktime,MP3,Silverlight,PDF。它根据当前的脚本配置,自动将a标签替换成div,并生成object,embed甚至是iframe代码,至于生成object还是embed,jQueryMedia会根据当前平台自动判别,因此兼容性方面非常出色。下面这段代码是jQueryMedia生成后的结果:
<divclass="media"> <objectwidth="450"height="250"attr1="attrValue1"attr2="attrValue2" codebase="http://www.apple.com/qtactivex/qtplugin.cab" classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"> <paramname="src" value="myBetterMovie.mov"> <paramname="autoplay"value="true"> <paramname="param1" value="paramValue1"> <paramname="param2" value="paramValue2"> <embedwidth="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标记代码
<aclass="media"href="sample.mov">MyQuicktimeMovie</a> <aclass="media"href="sample.swf">MyFlashMovie</a> <aclass="media"href="sample.wma">MyAudioFile</a>
初始化脚本:
$('.media').media();
选项
可以通过脚本对象或者jQueryMetadataPlugin来配置参数。
全局默认值:
$.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选项//@seehttp://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/embedattrs params:{param1:'paramValue1',param2:'paramValue2'},//objectparams/embedattrs caption:false//supresscaptiontext });
'src'选项
src选项指定了媒体文件的地址。它没有全局的默认值。如果未显示指定src选项的值,jQueryMediaPlugin将使用href或者src属性的值来代替。
播放器和格式
jQueryMediaPlugin默认为播放器和格式如下表所示:
上表说明了,mp3格式被自动对应到了flash播放器。全局配置中的$.fn.media.defaults.mp3Player指定MP3媒体由mediaplayer.swf文件播放。该swf文件是一个小型的mp3和flash视频播放器,可以从这里下载:http://www.longtailvideo.com/players/jw-flv-player/
SWFObject
这个脚本很常见,用来将Flash内容嵌入到网页中,你不用考虑不同平台的Flash嵌入方式。但这个文件并非必需。如果它加载了,jQueryMediaPlugin将使用它,反之jQueryMediaPlugin将按自己的默认方式生成object/embed标记。更多信息可以参考:http://code.google.com/p/swfobject/
iframePlayer
默认情况下,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插件一样简单易用。