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回调函数的参数
}
};
|
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'
);
|