基于jPlayer三分屏的制作方法
三分屏,這里的三分屏只是在一個(gè)播放器里同時(shí)播放三個(gè)視頻,但是要求只有一個(gè)控制面板同時(shí)控制它們,要求它們共享一個(gè)時(shí)間軌道。這次只是簡(jiǎn)單的模擬了一下功能,并沒(méi)有深入的研究。
首先,需要下載jPlayer,jPlayer是一個(gè)JavaScript寫的完全免費(fèi)和開(kāi)源的jQuery多媒體庫(kù)插件,我覺(jué)得他最大的好處就是兼容性,并且頁(yè)面也簡(jiǎn)潔大方,個(gè)人比較喜歡。jPlayer可到其官網(wǎng)下載最新版本(http://www.jplayer.cn)。并且官網(wǎng)有開(kāi)發(fā)文檔和Demo,所以還是比較容易上手的。
關(guān)于簡(jiǎn)單的視頻播放器和音頻播放器這里不再贅述了,官網(wǎng)的Demo挺好的,這里直奔主題。
首先當(dāng)然是引入jPlayer相關(guān)文件。
首先是css文件夾,這里為了方便,某些文件也放到css文件夾里了:
然后是js文件夾:
因?yàn)閖Player是在jQuery的插件,所以jquery的包自然也就少不了了。
新建一個(gè)test.jsp頁(yè)面,下面是代碼:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>JPlayer Test</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- 引入相關(guān)文件 --> <link href="css/jplayer.blue.monday.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" src="js/jquery.min.js"></script> <script type="text/javascript" src="css/jquery.jplayer.min.js"></script> <script type="text/javascript" src="js/jplayer.playlist.min.js"></script> <script type="text/javascript" src="test.js"></script> </head> <body> <div class="wrapper"> <div class="left-wrapper" style="float: left; width: 320px"> <div id="jp_container_2" class="jp-video jp-video-360p"> <div class="jp-type-single"> <!-- 左上的屏幕 --> <div ondblclick="fullScreen()" id="jquery_jplayer_2" class="jp-jplayer"></div> <!-- 左下的屏幕 --> <div ondblclick="fullScreen()" id="jquery_jplayer_3" class="jp-jplayer"></div> </div> </div> </div> <div class="right-wrapper" style="float: left;"> <div id="jp_container_1" class="jp-video jp-video-360p" style="border-bottom: none; border-left: none;"> <div class="jp-type-single"> <div ondblclick="fullScreen()" id="jquery_jplayer_1" class="jp-jplayer"></div> <div class="jp-gui" align="left"> <div class="jp-video-play" style="margin-left: -160px"> <button class="jp-video-play-icon">play</button> </div> <!-- 控制面板 --> <!-- width: 959px; margin-left: -320px; --> <div id="controller" class="jp-interface" style="border: 1px solid #009be3;"> <div class="jp-progress"> <div class="jp-seek-bar"> <div class="jp-play-bar"></div> </div> </div> <div class="jp-current-time"> </div> <div class="jp-duration"> </div> <div class="jp-controls-holder"> <div class="jp-controls"> <button class="jp-play">play</button> <button class="jp-stop">stop</button> </div> <div class="jp-volume-controls"> <button class="jp-mute">mute</button> <button class="jp-volume-max">max volume</button> <div class="jp-volume-bar"> <div class="jp-volume-bar-value"></div> </div> </div> <div class="jp-toggles"> <button class="jp-full-screen">full screen</button> </div> </div> <div class="jp-details"> <div class="jp-title" aria-label="title"> </div> </div> </div> </div> </div> </div> </div> </div> </body> </html>
新建一個(gè)test.js文件,下面是代碼:
var flag = false; var isFull = false; $(document).ready(function() { // 實(shí)例化第一個(gè)視頻 $("#jquery_jplayer_1").jPlayer({ ready: function() { $(this).jPlayer("setMedia", { title: "This is video Title", m4v: "http://www.jplayer.org/video/m4v/Big_Buck_Bunny_Trailer.m4v", /* m4v: "video/003.webm", */ poster: "http://www.jplayer.org/video/poster/Big_Buck_Bunny_Trailer_480x270.png" }); }, swfPath: "../../dist/jplayer", supplied: "m4v", size: { width: "640px", height: "360px", cssClass: "jp-video-360p" }, useStateClassSkin: true, autoBlur: false, smoothPlayBar: true, keyEnabled: true, remainingDuration: true, toggleDuration: true }); // 實(shí)例化第二個(gè)視頻 $("#jquery_jplayer_2").jPlayer({ ready: function() { $(this).jPlayer("setMedia", { title: "This is video Title", m4v: "http://www.jplayer.org/video/m4v/Big_Buck_Bunny_Trailer.m4v", /* m4v: "video/003.webm", */ poster: "http://www.jplayer.org/video/poster/Big_Buck_Bunny_Trailer_480x270.png" }); }, swfPath: "../../dist/jplayer", supplied: "m4v", size: { width: "320px", height: "180px", cssClass: "jp-video-360p" }, useStateClassSkin: true, autoBlur: false, smoothPlayBar: true, keyEnabled: true, remainingDuration: true, toggleDuration: true }); // 實(shí)例化第三個(gè)視頻 $("#jquery_jplayer_3").jPlayer({ ready: function() { $(this).jPlayer("setMedia", { title: "This is video Title", m4v: "http://www.jplayer.org/video/m4v/Big_Buck_Bunny_Trailer.m4v", /* m4v: "video/003.webm", */ poster: "http://www.jplayer.org/video/poster/Big_Buck_Bunny_Trailer_480x270.png" }); }, swfPath: "../../dist/jplayer", supplied: "m4v", size: { width: "320px", height: "180px", cssClass: "jp-video-360p" }, useStateClassSkin: true, autoBlur: false, smoothPlayBar: true, keyEnabled: true, remainingDuration: true, toggleDuration: true }); // 綁定初始化事件,用于在頁(yè)面加載的時(shí)候初始化控制條的位置 $("#jquery_jplayer_1").bind($.jPlayer.event.ready, function(event) { $("#controller").css({ width: "959px", margin: "0px 0px 0px -320px" }); }); // 綁定頁(yè)面大小變更事件,用于頁(yè)面大小變化的時(shí)候,設(shè)置控制條的位置 $("#jquery_jplayer_1").bind($.jPlayer.event.resize, function(event) { if (!isFull) { $("#controller").css({ width: "100%", margin: "0" }); isFull = true; } else { $("#controller").css({ width: "959px", margin: "0px 0px 0px -320px" }); isFull = false; } }); // 綁定單擊事件,用于單擊屏幕控制視頻的播放與暫停 $('#jquery_jplayer_1, #jquery_jplayer_2, #jquery_jplayer_3').bind("click", function(){ var $jplayer1 = $('#jquery_jplayer_1'); var $jplayer2 = $('#jquery_jplayer_2'); var $jplayer3 = $('#jquery_jplayer_3'); var status = $jplayer1.data("jPlayer").status; if (status.paused) { $jplayer1.jPlayer("play"); $jplayer2.jPlayer("play"); $jplayer3.jPlayer("play"); } else { $jplayer1.jPlayer("pause"); $jplayer2.jPlayer("pause"); $jplayer3.jPlayer("pause"); } }); }); // 雙擊屏幕時(shí),進(jìn)入全屏狀態(tài) function fullScreen() { $("#jquery_jplayer_1").jPlayer("option", "fullScreen", true); }
以上就是全部信息,需要注意的是,進(jìn)入全屏狀態(tài)的時(shí)候,只有主屏幕進(jìn)入全屏,其它兩個(gè)小的屏幕并不會(huì)進(jìn)入全屏狀態(tài)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- jquery插件Jplayer使用方法簡(jiǎn)析
- 基于jQuery的網(wǎng)頁(yè)影音播放器jPlayer的基本使用教程
- jQuery+JSON+jPlayer實(shí)現(xiàn)QQ空間音樂(lè)查詢功能示例
- Vim的分屏功能命令大全
- jquery插件splitScren實(shí)現(xiàn)頁(yè)面分屏切換模板特效
- JQuery分屏指示器圖片輪換效果實(shí)例
- C#分屏控件用法實(shí)例
- 實(shí)現(xiàn)opencv圖像裁剪分屏顯示示例
- jQuery多媒體插件jQuery Media Plugin使用詳解
- jQuery Flash/MP3/Video多媒體插件
相關(guān)文章
jquery.validate自定義驗(yàn)證用法實(shí)例分析【成功提示與擇要提示】
這篇文章主要介紹了jquery.validate自定義驗(yàn)證用法,結(jié)合實(shí)例形式分析了jQuery成功提示與擇要提示驗(yàn)證操作相關(guān)實(shí)現(xiàn)與使用技巧,需要的朋友可以參考下2020-06-06使用jquery動(dòng)態(tài)加載js文件的方法
這篇文章主要介紹了使用jquery動(dòng)態(tài)加載js文件的方法,需要的朋友可以參考下2014-12-12jQuery事件綁定用法詳解(附bind和live的區(qū)別)
這篇文章主要介紹了jQuery事件綁定用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了jQuery事件綁定的實(shí)現(xiàn)原理與相關(guān)注意事項(xiàng),并附帶了相關(guān)綁定方法的使用說(shuō)明,重點(diǎn)介紹了bind和live的區(qū)別,需要的朋友可以參考下2016-01-01jQuery實(shí)現(xiàn)form表單reset按鈕重置清空表單功能
有時(shí)候可能需要實(shí)現(xiàn)這樣的效果:使用ajax提交表單,成功提交表單之后清空表單,這種功能大家可能都希望實(shí)現(xiàn)吧,接下來(lái)為您詳細(xì)介紹,需要了解的朋友參考下2012-12-12jQuery 行背景顏色的交替顯示(隔行變色)實(shí)現(xiàn)代碼
主要是利用了jquery的attr為行添加樣式來(lái)實(shí)現(xiàn)的,具體的代碼如下。2009-12-12javascript 開(kāi)發(fā)之網(wǎng)頁(yè)兼容各種瀏覽器
這篇文章主要介紹了javascript 開(kāi)發(fā)之網(wǎng)頁(yè)兼容各種瀏覽器的相關(guān)資料,這里提供了幾種方法幫助大家掌握這樣的功能,需要的朋友可以參考下2017-09-09jQuery插件FusionCharts實(shí)現(xiàn)的2D面積圖效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件FusionCharts實(shí)現(xiàn)的2D面積圖效果,結(jié)合完整實(shí)例形式分析了FusionCharts繪制2D面積圖的完整步驟與相關(guān)屬性設(shè)置操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03jQuery實(shí)現(xiàn)選中彈出窗口選擇框內(nèi)容后賦值給文本框的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)選中彈出窗口選擇框內(nèi)容后賦值給文本框的方法,涉及jQuery響應(yīng)鼠標(biāo)事件動(dòng)態(tài)操作頁(yè)面元素屬性的相關(guān)技巧,需要的朋友可以參考下2015-11-11