jquery插件Jplayer使用方法简析

jquery插件Jplayer使用方法简析

这篇文章主要介绍了jquery插件jp播放器使用方法简析,具有实用价值,感兴趣的小伙伴们可以参考一下

初识jp播放器插件是因为它的兼容性是最好的,可以兼容到IE6,官网上对它兼容性有很详细的说明

这个是我选择使用它的首要原因。

现在从需求上来了解它的使用方法吧。第一个需求:MP3格式的音频在网页播放,样式如下:

刚看到这个需求的时候,还是觉着有些难度的。我从官网(

http://www.jplayer.cn

/)上下载了这个的压缩包,直接拿出了里面的例子套用(路径:/examples/blue。周一/演示-01-提供-MP3。htm),不得不说,这也是学会使用这个插件的最快的方法。压缩包里面的例子很全面,总有一款适合你。

演示的样式是这样的:

现在看一下它的超文本标记语言结构:

div id= jquery _ jp layer _ 1 class= jp-jp layer /div!-存放音频和视频源,绝对需要-

div id= jp _ container _ 1 class= jp-audio role= application aria-label= media player !-播放器样式包装-

div class=jp-type-single

div class=jp-gui jp-interface

div class=jp-controls !-播放和停止按钮-

按钮 jp-play role= button tabindex= 0 play/button

按钮 jp-stop role= button tabindex= 0 stop/button

/div

div class=jp-progress !-进度条-

div class=jp-seek-bar

div class=jp-play-bar/div

/div

/div

div class=jp-volume-controls !-音量控制键-

button class= jp-mute role= button tabindex= 0 静音/按钮

button class= jp-volume-max role= button tabindex= 0 最大音量/按钮

div class=jp-volume-bar

div class= jp-volume-bar-value /div

/div

/div

div class=jp-time-holder !-视频时间和重复播放按钮-

div class= jp-current-time role= timer aria-label= time nbsp ./div

div class= jp-duration role= timer aria-label= duration nbsp ./div

jp-切换

jp-重复 role= button tabindex= 0 重复/button

/div

/div

/div

div class=jp-details !-视频的主题-

div class=" jp-title " aria-label= title nbsp ./div

/div

div class=jp-no-solution !-jp播放器提示信息,默认隐藏-

跨度需要更新/span

若要播放媒体,您需要将浏览器更新到最新版本,或者更新您的a href= http://获取。土坯。com/flash player/ target= _ blank flash插件/a

/div

/div

/div

结构是不是很清晰呢,我们需要的所有功能这里面都已经包含了,根据我的需求,我可以只保留播放和暂停按钮以及进度条,简化过后的html:

div id= jquery _ jp layer _ 1 class= jp-jp layer /div!-存放音频和视频源,绝对需要-

div id= jp _ container _ 1 class= jp-audio role= application aria-label= media player !-播放器样式包装-

div class=jp-type-single

div class=jp-gui jp-interface

div class=jp-controls !-播放暂停按钮-

按钮 jp-play role= button tabindex= 0 play/button

/div

div class=jp-progress !-进度条-

div class=jp-seek-bar

div class=jp-play-bar/div

/div

/div

/div

/div

/div

接下来就是样式问题了。我们可以通过重置它的样式来实现我们原本的功能,我建议是在超文本标记语言上新增类,进行重置。

具体怎么实现我就不再细说了,进入最关键的地方,js的调用。

先看一下演示中怎么调用的?并且用到了什么参数?参数代表的是什么意思?

脚本类型=文本/javascript

//![CDATA[

$(文档)。ready(function(){

$(#jquery_jplayer_1 ).jp播放器({

就绪:函数(){

$(这个)。jp播放器( setMedia ,{

标题:"泡沫",

MP3: http://jp player。org/audio/MP3/Miaow-07-bubble。 MP3

});

},

swfPath:././dist/jp player ,

提供: mp3 ,

wmode:窗口,

usestateclasskin:true,

错误,

smoothPlayBar:没错,

keyEnabled: true,

remainingDuration: true,

toggleDuration:真

});

});

//]]

/脚本

第一个参数:

ready

官网的解释是:定义绑定到$ . jp player . event . ready事件的事件处理函数。(创建事件处理程序ready是为了消除JS代码和Flash代码之间的竞争情况。所以保证了执行js代码时,Flash函数的定义已经存在。)

一般来说是用来存储媒体的链接和主题的。其支持的格式有:MP3、M4V、WebMA、WebMV、OGA、OGV、WAV、FLA、FLV、RTMPA、RTMPV。媒体地址必须置于就绪状态,否则不会生效。

第二个参数:

swfPath

官网的解释是:定义jPlayer的jPlayer.swf文件的路径。它允许开发人员将swf文件放在任何地方,使用相对定位或绝对路径合作或相对服务器路径引用。

该参数必须存在。删除它,ie浏览器的低版本就不能正常播放,而且文件的路径必须正确。您可以使用相对路径或绝对地址。

第三个参数:

supplied

该参数用于告知媒体支持的格式,在上传媒体时对于后台开发非常重要。

第四个参数:

wmode

即窗口模式。有效的wmode值包括:窗口、透明、不透明、直接、GPU。这些值具体意味着什么?度娘已经给了很多了,我就不赘述了,只说两者的区别。

窗口:默认模式;透明:透明模式;不透明:无窗模式; Direct 和 gpu 是flashplayer10及以后版本的新参数,不能和前三个值同时使用,否则会造成冲突。

所以还是有点官方的。我试着删除这个参数。在chrome46.0.2490.86、Firefox45.0.2、Opera36.0.2130.65、IE7和8中,音频仍然可以正常播放。根据官方API,注意火狐3.6音频播放器在使用Flash解决方案时需要设置选项{wmode:window}。否则,浏览器无法在页面中正确放置Flash。

第五个参数:

useStateClassSkin

默认情况下,JP-state-playing,JP-state-muted类将被添加到处于播放和静音状态的dom元素中。这些状态将对应于一些皮肤。是否要使用这些状态对应的皮肤?检查它在当前页面上是否有效。评论了一下,发现音频不能中途暂停。我只能让它播放,然后再点播放。暂停功能无效。

第六个参数:

autoBlur

点击后自动失去焦点。删除后对音频没有其他影响。该参数是可选的。

第七个参数:

smoothPlayBar

官方解释:平滑过渡播放条。

如果设置值为false,可以发现点击进度条,没有过渡过程,而是直接到点击的位置,体验不好。

第八个参数:

keyEnabled

官方解释:启用该实例的键盘控制器功能。

通俗点就是是否允许键盘控制播放。

第九个参数:

remainingDuration

是否显示剩余播放时间,如果为false,则duration的dom显示[3:07],如果为true,则显示[-3:07]。如果我的音频没有时间段显示样式,此参数也是可选的。

第十个参数:

toggleDuration

允许在点击剩余时间的dom时切换剩余播放时间的模式,比如从[3:07]点击到[-3: 07]。如果设置为false,则点击无效,只能显示remainingDuration设置的模式。也是一个可选参数。

如上,你知道如何使用演示中使用的所有参数吗?如果还是不清楚,可以直接用压缩包里的demo自己试试。

除了上述参数之外,还有几个参数需要特别说明:

Size:设置媒体的宽度和高度;

CssSelectorAncestor:定义所有CSS选择器的祖先的cssSelector。相当于css的元素选择器;

全局:当卷为真时共享卷。当一页上有多个媒体时,调整其中一个媒体的音量,其他媒体也会相应改变。false不会受到影响。

这样就实现了一些简单的媒体播放需求。有许多页面会要求自动播放。如何在jpalyer中实现?其实不难。

在就绪参数下,

$(这个)。jp player( setMedia ,{

自动播放:真

}).jp player( play );

将实现自动播放。该网页需要升级,媒体流通将需要自动播放。如何才能实现?API提供了这样的事件:

已结束:函数(){

$(这个)。jp player( play );

},

继续升级需求,媒体会自动播放1秒然后停止。如何实现这一点?

$(这个)。jp player( setMedia ,{

}).jp player( pause ,1);

这还不够。一个页面同时有多个媒体(这个我就不细说了,压缩包里有案例)。怎么才能防止它同时播放?

Play: function() {//当前媒体播放时,其他媒体暂停播放。

$(这个)。jp layer( pauseOthers );

},

.

需求有很多变化,但是从来不变,还有一些功能我觉得实现不了。可以多看看官网的API,说不定会找到解决办法。

jquery插件Jplayer使用方法简析