jQuery多媒体播放器插件jQuery Media Plugin使用方法
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生成后的结果:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
< div class = "media" > < object width = "450" height = "250" attr1 = "attrValue1" attr2 = "attrValue2" 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" </ object > </ div > |
具体使用方法
html标记代码
1
2
3
|
< 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 > |
初始化脚本:
1
|
$( '.media' ).media(); |
选项
可以通过脚本对象或者jQuery Metadata Plugin来配置参数。
全局默认值:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
$.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参数进去,如下代码:
1
|
$( '.media' ).media( { width: 400, height: 300, autoplay: true } ); |
再如代码:
1
2
3
4
5
6
7
8
9
|
$( '.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 |
mediaplayer.swf
上表说明了,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方法实现,如
1
|
$.fn.media.mapFormat( 'mp3' , 'quicktime' ); |
可用的播放器有:uicktime, flash, realplayer, winmedia, silverlight和iframe,确保播放器能够播放关联到它的文件格式。
在线demo
下载
直接下载jquery.media.js文件,或者在Github上下载历史版本