1. 程式人生 > >跨平臺視訊播放器——jplayer初嘗試

跨平臺視訊播放器——jplayer初嘗試

專案需要展示一個企業宣傳片,遂去網上尋找一些能提供適應html5和非html5的視訊播放器框架,找了一天下了好多js視訊播放器框架,對比了好多demo發現了一個相對不錯的框架“jplayer”,它是基於jQuery的,剛好jquery稍微熟一點,所以果斷決定使用他了。

非常可喜的是,這個開源框架有一箇中文學習網站,並且提供中文的API,這裡附上網址: jPlayer中文網

在網站上可以尋找到jPlayer最新版本的下載地址,一些示例,以及中文API,我這裡就不提供下載地址了~

要使用jPlayer我們需要引入這幾個檔案,就像這樣:

112

第一個檔案是css檔案,第二個是jquery庫,第三個是jPlayer的js庫

然後準備html容器,就像這樣:

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

然後開始初始化jPlayer,就像這樣:

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

然後就完了,具體可以參照jPlayer中文網

jPlayer框架在支援html5的瀏覽器上會使用html5標籤來播放視訊,在不不支援html5的瀏覽器上會使用swf來播放視訊,所以這裡有一個需要注意的地方就是swfPath這個引數必須要寫對,即jquery.jplayer.swf這個檔案的地址,不然IE8以下是不會播放的哦。

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

bofangqi

上面的例子大家注意到使用了jPlayer的一些事件相關的API,是因為我的專案需求。

jPlayer初始的時候視訊中間有一個按鈕,點選播放之後這個按鈕就被隱藏了,我需要一旦視訊暫停的時候這個按鈕又要出現,所以需要監聽jPlayer的暫停事件和播放事件,控制這個按鈕是否出現

還有一個需求就是點選螢幕需要能夠控制暫停和播放,所以我監聽了jPlayer的點選事件,然後判讀當前視屏是否在播放,播放的時候暫停視屏,暫停的時候播放視訊,這裡問題又來了,我翻遍了jPlayer中文網上的API沒找到一個方法來獲取當前視訊播放狀態,所以我定義了一個全域性變數isPlaying,在監聽到播放事件和暫停事件的同時來改變改變數的狀態,這樣我就能夠通過該變數來改變播放或者暫停了,這個土方法貌似還管用,有知道更容易實現的同學可以告訴我一聲哈。

順帶說一下,你完全可以通過覆蓋他原來的樣式控制你自己的播放器的樣式,當然他的API也提供自定義選擇器名稱,懶得話可以直接覆蓋他的樣式^_^

相關推薦

跨平臺視訊播放——jplayer嘗試

專案需要展示一個企業宣傳片,遂去網上尋找一些能提供適應html5和非html5的視訊播放器框架,找了一天下了好多js視訊播放器框架,對比了好多demo發現了一個相對不錯的框架“jplayer”,它是基於jQuery的,剛好jquery稍微熟一點,所以果斷決定使用他了。

網頁音視訊播放jPlayer使用介紹

最近專案中需要播放音訊. 視訊之前的已經做了, 要加上播放音訊的功能, 還要相容ie8, 還要禁止下載. 禁止下載這個就不管了, 因為不可能禁止. 要相容ie8, 就不能用<audio>了, ie系列ie9+才支援audio, 具體相容性請看: ht

iOS 超好用的本地視訊播放推薦!

本地播放器作為日常生活中不可或缺的一款工具類APP,Windows、Android等平臺不乏一些功能與體驗兼優的產品,但 iOS 平臺的使用者就沒有那麼幸運了,優秀的產品鳳毛麟角,且多數收費。 這源於 iOS 平臺的特殊性,完美支援各種視訊格式並不容易,幾乎沒有大廠在這方面投入,QQ影音

第二十四篇-用VideoView製作一個簡單的視訊播放

這是一個播放本地視訊的播放器,videoUrl1是手機裡放置視訊的路徑 效果圖: MainActivity.java package com.example.aimee.videotest; import android.Manifest; import android.co

基於NDK、C++、FFmpeg的android視訊播放開發實戰-夏曹俊-專題視訊課程

基於NDK、C++、FFmpeg的android視訊播放器開發實戰—1796人已學習 課程介紹         課程包含了對流媒體(拉流)的播放,演示了播放rtmp的香港衛視,支援rtsp攝像頭和h

Linux常用視訊播放

  1、SMplayer是一款跨平臺的視訊播放工具,可以支援大部分的視訊和音訊檔案。它支援音訊軌道切換、允許調節亮度、對比度、色調、飽和度、伽瑪值,按照倍速、4倍速等多種速度回放、還可以進行音訊和字幕延遲調整以同步音訊和字幕。 2、VLC是一款自由、開源的跨平臺多媒體播放器及

QtPlayer——基於FFmpeg的Qt音視訊播放

QtPlayer——基於FFmpeg的Qt音視訊播放器 本文主要講解一個基於Qt GUI的,使用FFmpeg音視訊庫解碼的音視訊播放器,同時也是記錄一點學習心得,本人也是多媒體初學者,也歡迎大家交流,程式執行圖如下: QtPlayer基於FFmpeg的Q

優酷、騰訊視訊播放介面引數說明

優酷: 優酷的視訊播放器介面連線為:http://open.youku.com/tools/ 裡面已經有教詳細的說明了。 在這裡也做一些說明吧:匯入js檔案: 1 <script type="text/javascript" src="http://player.youku.com/jsa

基於OpenCV從零開始的視訊播放!聘美騰訊,優酷等軟體的神器!

實現了在MFC中顯示圖片,再要顯示一個視訊就是輕而易舉的事了,本篇介紹使用Opencv製作一個簡易的播放器,實現開啟檔案、暫停、繼續播放、再次播放和總當前幀數顯示功能。 首先還是先看一下介面效果:   嗯,是不是很有MFC的感覺,簡潔大方、樸素典雅又實用~~,如果用一個字

android,Exoplayer實現視訊播放

bundle配置: implementation 'com.google.android.exoplayer:exoplayer-core:2.8.1'implementation 'com.google.android.exoplayer:exoplayer-dash:2.8.1'implementati

qt實現視訊播放

本篇部落格介紹如何利用qMediaPlayer和qvideowidget實現視訊檔案(avi,mp4....)的播放,並且提供進度顯示,還可以通過拖動進度條來變換播放位置。相關程式碼可以在我的資源裡下載"基於qt的視訊播放器" pro檔案: #------------------------

自己動手實現html5視訊播放倍數播放功能

自己動手實現html5視訊播放器倍數播放功能 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>阿酷TONY--Tangni&

HTML5倍數功能視訊播放(加速2倍,1.5倍播放

方式一:採用第三方雲視訊平臺 HTML5倍數功能視訊播放器(加速2倍,1.5倍播放) 倍數功能視訊播放器的應用: 培訓場景,教育教學場景下,可以倍速觀看視訊,比如1.5倍,2倍的速度觀看視訊,可以更快速的看完課程,節省時間。 <div id="player">&

關於使用OpenCV-python開發簡易視訊播放

正在研究開簡易如何開發簡易視訊播放器,找了一些一列,包括在pyglet上面的程式碼,但是好長,執行出錯。 看到一個很簡潔的程式碼,沒有報錯但是彈開之後不會自動播放視訊,也沒有生成應用程式。 http://blog.51cto.com/7335580/2145914 這是他的連結,很簡潔

一段蛋疼的程式碼:超不清視訊播放

今天分享的這段程式碼,看起來沒啥實際用處,而且有些反潮流,因為現如今大家看視訊都追求更高解析度的超清畫質,而我們這個,是一個“超不清”的視訊播放器: 在控制檯裡播放視訊,用字元來表示畫面 不過我覺得它至少可以有三個作用:1.用來練習視訊和影象處理的程式設計開發;2.在沒有圖形介面的伺服器上播

視訊播放的丟幀邏輯

    最近在做播放器在電視盒子上的適配,發現一個嚴重的問題:低端機型解碼能力不足。表現是丟幀,音畫不同步。對此,有兩種解決方法。 一、解碼前丟幀     思路是記錄25幀(1s)解碼的總時間decodeTotalTime,減去25幀播放的總時間playTotalT

android形狀屬性、鎖屏密碼、動態模糊、kotlin專案、抖音動畫、記賬app、視訊播放等原始碼

Android精選原始碼 直觀瞭解Android的“形狀”屬性如何影響Drawable的外觀。 一個靈活的視訊播放器, 可替換播放器核心。 android鎖屏輸入密碼功能原始碼 背景動態模糊方案,元件實現類對bitmap模糊處理的各類算... 簡單天氣,帶

安卓視訊播放——ijkPlayer(Bilibili開源)

作為一個B站(Bilibili)使用者,特別喜歡B站的播放器 湊巧,發現了b站的github的地址。。嘿嘿。。B站github地址f 發現了ijkplayer播放器,支援android 和ios 我們用AndroidStudio新建project名字是bilibili_ijkplay

【Unity 2d/3d視訊播放

https://github.com/86K/2D3D_VideoPlayer Unity2017.3.1f1 3d部分是htc硬體對接的。 視訊播放、暫停;聲音、速度調節;選集等功能都已實現。 主要參照htc官方視訊播放器模式。 原先的

ubuntu 安裝視訊播放 smplayer

由於  Ubuntu自帶的播放器  不能夠快進  感覺有點不舒服 所以 安裝這個  可以加速播放器  smplayer   開啟終端  sudo apt-add-repository ppa:rvm/sm