这篇文章主要介绍了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,说不定会找到解决办法。