跨平台视频播放器——jplayer初尝试

1 篇文章 0 订阅
1 篇文章 0 订阅

项目需要展示一个企业宣传片,遂去网上寻找一些能提供适应html5和非html5的视频播放器框架,找了一天下了好多js视频播放器框架,对比了好多demo发现了一个相对不错的框架“jplayer”,它是基于jQuery的,刚好jquery稍微熟一点,所以果断决定使用他了。

非常可喜的是,这个开源框架有一个中文学习网站,并且提供中文的API,这里附上网址: jPlayer中文网

在网站上可以寻找到jPlayer最新版本的下载地址,一些示例,以及中文API,我这里就不提供下载地址了~

要使用jPlayer我们需要引入这几个文件,就像这样:

112

第一个文件是css文件,第二个是jquery库,第三个是jPlayer的js库

然后准备html容器,就像这样:

 
 
  1. <div id="jp_container_1" class="jp-video jp-video-360p" role="application" aria-label="media player">
  2. <div class="jp-type-single">
  3. <div id="jquery_jplayer_1" class="jp-jplayer"></div>
  4. <div class="jp-gui">
  5. <div class="jp-video-play">
  6. <button class="jp-video-play-icon" role="button" tabindex="0">play</button>
  7. </div>
  8. <div class="jp-interface">
  9. <div class="jp-progress">
  10. <div class="jp-seek-bar">
  11. <div class="jp-play-bar"></div>
  12. </div>
  13. </div>
  14. <div class="jp-current-time" role="timer" aria-label="time">&nbsp;</div>
  15. <div class="jp-duration" role="timer" aria-label="duration">&nbsp;</div>
  16. <div class="jp-controls-holder">
  17. <div class="jp-controls">
  18. <button class="jp-play" role="button" tabindex="0">play</button>
  19. <button class="jp-stop" role="button" tabindex="0">stop</button>
  20. </div>
  21. <div class="jp-volume-controls">
  22. <button class="jp-mute" role="button" tabindex="0">mute</button>
  23. <button class="jp-volume-max" role="button" tabindex="0">max volume</button>
  24. <div class="jp-volume-bar">
  25. <div class="jp-volume-bar-value"></div>
  26. </div>
  27. </div>
  28. <div class="jp-toggles">
  29. <button class="jp-full-screen" role="button" tabindex="0">full screen</button>
  30. </div>
  31. </div>
  32. </div>
  33. </div>
  34. </div>
  35. </div>

然后开始初始化jPlayer,就像这样:

 
 
  1. <script type="text/javascript">
  2. var isPlaying = false;
  3. $(document).ready(function(){
  4.  
  5. $("#jquery_jplayer_1").jPlayer({
  6. ready: function () {
  7. $(this).jPlayer("setMedia", {
  8. m4v: "<%=request.getContextPath()%>/html/front/trailerPortlet/yuanshonShow.mp4",
  9. poster: "<%=request.getContextPath()%>/html/front/trailerPortlet/jplayer/demo.png"
  10. });
  11. },
  12. swfPath: "<%=request.getContextPath()%>/html/front/trailerPortlet/jplayer/js/jquery.jplayer.swf",
  13. supplied: "m4v",
  14. size: {
  15. width: "368px",
  16. height: "182px",
  17. cssClass: "jp-video-360p"
  18. },
  19. useStateClassSkin: true,
  20. autoBlur: false,
  21. smoothPlayBar: true,
  22. keyEnabled: true,
  23. remainingDuration: true,
  24. toggleDuration: true,
  25. restored:{
  26. restored:true
  27. }
  28. });
  29. $("#jquery_jplayer_1").bind($.jPlayer.event.click, function(event) { // Add a listener to report the time play began
  30. if(isPlaying){
  31. $("#jquery_jplayer_1").jPlayer( "pause");
  32. }else{
  33. //$("#jquery_jplayer_1").jPlayer( "play");
  34. }
  35. });
  36.  
  37. $("#jquery_jplayer_1").bind($.jPlayer.event.pause, function(event) { // Add a listener to report the time play began
  38. isPlaying = false;
  39. $(".jp-video-play").show();
  40. });
  41.  
  42. $("#jquery_jplayer_1").bind($.jPlayer.event.ended, function(event) { // Add a listener to report the time play began
  43. isPlaying = false;
  44. $(".jp-video-play").show();
  45. });
  46.  
  47. $("#jquery_jplayer_1").bind($.jPlayer.event.play, function(event) { // Add a listener to report the time play began
  48. isPlaying = true;
  49. $(".jp-video-play").hide();
  50. });
  51.  
  52. });
  53. </script>

然后就完了,具体可以参照jPlayer中文网

jPlayer框架在支持html5的浏览器上会使用html5标签来播放视频,在不不支持html5的浏览器上会使用swf来播放视频,所以这里有一个需要注意的地方就是swfPath这个参数必须要写对,即jquery.jplayer.swf这个文件的地址,不然IE8以下是不会播放的哦。

下面是我的播放器的效果~~

bofangqi


上面的例子大家注意到使用了jPlayer的一些事件相关的API,是因为我的项目需求。

jPlayer初始的时候视频中间有一个按钮,点击播放之后这个按钮就被隐藏了,我需要一旦视频暂停的时候这个按钮又要出现,所以需要监听jPlayer的暂停事件和播放事件,控制这个按钮是否出现

还有一个需求就是点击屏幕需要能够控制暂停和播放,所以我监听了jPlayer的点击事件,然后判读当前视屏是否在播放,播放的时候暂停视屏,暂停的时候播放视频,这里问题又来了,我翻遍了jPlayer中文网上的API没找到一个方法来获取当前视频播放状态,所以我定义了一个全局变量isPlaying,在监听到播放事件和暂停事件的同时来改变改变量的状态,这样我就能够通过该变量来改变播放或者暂停了,这个土方法貌似还管用,有知道更容易实现的同学可以告诉我一声哈。

顺带说一下,你完全可以通过覆盖他原来的样式控制你自己的播放器的样式,当然他的API也提供自定义选择器名称,懒得话可以直接覆盖他的样式^_^

魔狱典狱长 » 跨平台视频播放器——jplayer初尝试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值