268香港空間

當前位置:首頁 ? 資料文檔 ? 正文

海洋CMS v9.99播放器增加記憶+P2P播放+自動下一集功能

25人參與 來自于 : 資源分享網    2019年11月18日   分類 : 資料文檔  點這評論

為海洋CMS v9.99播放器增加記憶+P2P播放+自動下一集功能,用以下代碼替換js/player/dplayer/dplayer.html全部內容:

<html>
 <head> 
  <meta charset="UTF-8" /> 
  <title>dplayer增加記憶+P2P播放+自動下一集功能</title> 
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" /> 
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/DPlayer.min.css" /> 
  <script type="text/javascript" src="jquery.min.js"></script> 
  <script type="text/javascript" src="flv.min.js"></script> 
  <!-- <script type="text/javascript" src="hls.min.js"></script> --> 
  <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]"></script> 
  <script type="text/javascript" src="dash.all.min.js"></script> 
  <script type="text/javascript" src="webtorrent.min.js"></script> 
  <script src="https://cdn.jsdelivr.net/npm/[email protected]"></script> 
  <script type="text/javascript" src="md5.js"></script> 
  <style type="text/css">
    body,html{width:100%;height:100%;background:#000;padding:0;margin:0;overflow-x:hidden;overflow-y:hidden}
    *{margin:0;border:0;padding:0;text-decoration:none}
	#stats{position:fixed;top:5px;left:10px;font-size:10px;z-index:20719029;display: block;background-image: -webkit-linear-gradient(left, #3498db, #f47920 10%, #d71345 20%, #f7acbc 30%,#ffd400 40%, #3498db 50%, #f47920 60%, #d71345 70%, #f7acbc 80%, #ffd400 90%, #3498db);color: transparent;-webkit-text-fill-color: transparent;-webkit-background-clip: text; background-size: 200% 100%;animation: masked-animation 4s infinite linear;}
    #playerCnt{position:inherit}
</style>
 </head>  
 <body> 
  <div id="playerCnt"></div> 
  <div id="stats"></div> 
  <script type="text/javascript">
	//獲取地址欄里傳遞過來的視頻地址
	function getUrlParam(name) {
		var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //構造一個含有目標參數的正則表達式對象
		var r = window.location.search.substr(1).match(reg); //匹配目標參數
		if(r != null) return unescape(r[2]);
		return null; //返回參數值
	}
		
   //設置瀏覽器緩存項值,參數:項名,值,有效時間(小時)
    function setCookie(c_name, value, expireHours) {
      var exdate = new Date();
      exdate.setHours(exdate.getHours() + expireHours);
      document.cookie = c_name + "=" + escape(value) + ((expireHours === null) ? "" : ";expires=" + exdate.toGMTString());
    }
    //獲取瀏覽器緩存項值,參數:項名
    function getCookie(c_name) {
      if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start !== -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end === -1) {
                c_end = document.cookie.length;
            };
            return unescape(document.cookie.substring(c_start, c_end));
         }
     }
    return "";
   }
		
	var videoUrl2 =getUrlParam('videourl');
	var a=videoUrl2.split(",");
	var nextpage=a[0];
	var videoUrl=a[1];
	var vid=a[3];
	var vfrom=a[4];
	var vpart=a[5];
	var did=hex_md5(videoUrl);
	var headtime=Number(getCookie(did) || 0);
	
//獲取劇集數據
    function getvideo(url){  	
    		$.ajax({
				url: '/ass.php?url=dp&vid='+vid+'&vfrom='+vfrom+'&vpart='+vpart,
				dataType: 'jsonp',
				jsonp: 'cb',                 
				success:function(data){					
					//劇集及當前集數
				     xyplay=data.s;				     
				     if(xyplay.part>0){xyplay.part--;}
				},				
    		})
	
    }
	//獲取劇集數據
	if("undefined" !== typeof nextpage && nextpage!=""){getvideo(nextpage);}    
</script> 
 
<script type="text/javascript">
    var type='normal';
    var live=false;
	var _peerId = '', _peerNum = 0, _totalP2PDownloaded = 0, _totalP2PUploaded = 0;
    if(videoUrl.indexOf('.m3u8')>-1){
        type='Hls';
        live=true;
    }
    else if(videoUrl.indexOf('magnet:')>-1){
        type='webtorrent';
    }
    else if(videoUrl.indexOf('.flv')>-1){
        type='flv';
    }
    else if(videoUrl.indexOf('.mpd')>-1){
        type='dash';
    }
 
    var dp = new DPlayer({
        container: document.getElementById('playerCnt'),
        autoplay: true,
        screenshot: false,
        video: {
            url: videoUrl,
            type: 'customHls',
			customType: {
                'customHls': function (video, player) {
                    const hls = new Hls({
                        debug: false,
                        p2pConfig: {
                            logLevel: true,
                            live: false,        // 如果是直播設為true
                        }
                    });
                    hls.loadSource(video.src);
                    hls.attachMedia(video);
                    hls.p2pEngine.on('stats', function (stats) {
                        _totalP2PDownloaded = stats.totalP2PDownloaded;
                        _totalP2PUploaded = stats.totalP2PUploaded;
                        updateStats();
                    }).on('peerId', function (peerId) {
                        _peerId = peerId;
                    }).on('peers', function (peers) {
                        _peerNum = peers.length;
                        updateStats();
                    });
 
                }
            }
        },
        front:"video_front",
        next:"video_next",
        
        contextmenu: [
          
            {text:"Xyplayer X3 ",link:""},
 
        ]
    });
 
	//綁定準備就緒回調
    dp.on("loadedmetadata", function () {loadedmetadataHandler();});
 
	
	//綁定播放結束回調
    dp.on("ended", function () {endedHandler();});
			
	//視頻就緒回調,用來監控播放開始 
    function loadedmetadataHandler() {
                if (  headtime > 0 && dp.video.currentTime < headtime) {
                        dp.seek(headtime);
                        dp.notice("繼續上次播放");
 
                } else {
                       dp.notice("視頻已就緒");
            
                }
                        dp.on("timeupdate", function () {
                        timeupdateHandler();
                    })
					$("#playerCnt").addClass("dplayer-hide-controller");
           
            }
    //播放進度回調  	
    function timeupdateHandler() {
                 setCookie(did,dp.video.currentTime,24);
           }
	
 
    //播放結束回調		
    function endedHandler() {
               
             setCookie(did,"",-1);
                
            if ("undefined" !== typeof xyplay && "undefined" !== typeof xyplay.video){
               
                if (Number(xyplay.part) + 1 <= xyplay.video.length){
                     dp.notice("視頻已結束,為您跳到下一集");
                     setTimeout(function () {video_next();}, 500);
                } else {
                    dp.notice("視頻播放已結束");
                }
           
             }else{
             	
              	if("undefined" !== typeof nextpage && nextpage!=""){ top.location.href=nextpage;}	
 
             }
           
            }
 
 
	//播放下集
    function video_next() {
            if ("undefined" !== typeof xyplay && "undefined" !== typeof xyplay.video)
                    if (Number(xyplay.part) + 1>= xyplay.video.length) {
                    	dp.notice("已經是最后一集");
	
                        return false;
                    }
                xyplay.part++;    
                myplay(xyplay.video[xyplay.part]);
               
            }
	
	
	//播放上集	
    function video_front() {
            if ("undefined" !== typeof xyplay && "undefined" !== typeof xyplay.video)
                    if (Number(xyplay.part) <= 0) {
                    	dp.notice("已經是最前一集");
                        return false;
                    }
                xyplay.part--;
                myplay(xyplay.video[xyplay.part]);
 
            }
	
	
	//調用播放
    function myplay(url) {             	
                videoUrl=url; did=hex_md5(videoUrl);
                headtime= Number(getCookie(did));
                dp.switchVideo({url: videoUrl});
                dp.play();	
            }
			
	function updateStats() {
        var text = '七星P2P正在為您加速' + (_totalP2PDownloaded/1024).toFixed(2)
            + 'MB 已分享' + (_totalP2PUploaded/1024).toFixed(2) + 'MB' + ' 連接節點' + _peerNum + '個';
        document.getElementById('stats').innerText = text
    }  			
</script>  
</body>
</html>

然后點擊海洋CMS后臺的播放器選項,拷貝以下代碼:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<SCRIPT LANGUAGE="JavaScript1.2">
adTime=parent.adsTime; 
 
chanceAd=1;
var ns=(document.layers);
var ie=(document.all);
var w3=(document.getElementById  &&  !ie);
adCount=0;
function initAd(){
        if(!ns  &&  !ie  &&  !w3) return;
        if(ie)             adDiv=eval('document.all.sponsorAdDiv.style');
        else if(ns)        adDiv=eval('document.layers["sponsorAdDiv"]');
        else if(w3)        adDiv=eval('document.getElementById("sponsorAdDiv").style');
        randAd=Math.ceil(Math.random()*chanceAd);
        if (ie||w3)
        adDiv.visibility="visible";
        else
        adDiv.visibility ="show";
        if(randAd==1) showAd();
		document.getElementById("zzzif").src=parent.adsPage; 
		document.getElementById("zzzif").height=parent.playerh;
		document.getElementById("zzzif").width=parent.playerw; 		
}
function showAd(){
if(adCount<adTime*10){adCount+=1;
        if (ie){documentWidth  =document.body.offsetWidth/2+document.body.scrollLeft-20;
        documentHeight =document.body.offsetHeight/2+document.body.scrollTop-20;}
        else if (ns){documentWidth=window.innerWidth/2+window.pageXOffset-20;
        documentHeight=window.innerHeight/2+window.pageYOffset-20;}
        else if (w3){documentWidth=self.innerWidth/2+window.pageXOffset-20;
        documentHeight=self.innerHeight/2+window.pageYOffset-20;}
        adDiv.left=documentWidth-200;adDiv.top =documentHeight-200;
        setTimeout("showAd()",100);}else closeAd();
}
function closeAd(){
if (ie||w3)
adDiv.display="none";
else
adDiv.visibility ="hide";
}
onload=initAd;
</script>
</head>
<body style="margin:0px;padding:0px;">
<div id="sponsorAdDiv" style="visibility:hidden; z-index:999; height:105%; width:100%;">
<iframe id="zzzif" name="zzzif" src="" scrolling="no" frameborder="0"></iframe>
</div>
 
<div id="player"></div>
 
<script>
 
var playerh=parent.playerh;
document.getElementById('player').innerHTML  = '<iframe width="100%" height='+playerh+' src="dplayer/dplayer.html?videourl='+parent.nextPage+','+parent.now + ','+parent.next+','+parent.vid+','+parent.vfrom+','+parent.vpart+'" frameborder="0" border="0" marginwidth="0" marginheight="0" scrolling="no" allowfullscreen="allowfullscreen" mozallowfullscreen="mozallowfullscreen" msallowfullscreen="msallowfullscreen" oallowfullscreen="oallowfullscreen" webkitallowfullscreen="webkitallowfullscreen"></iframe>';
</script>   
</body>
</html>


268資源分享網 , 版權所有丨本站資源僅限于學習研究,嚴禁從事商業或者非法活動!丨,轉載請保留出處和鏈接!

本文鏈接:海洋CMS v9.99播放器增加記憶+P2P播放+自動下一集功能來自http://www.rmmdfc.live/pot/738.html

本文標簽:海洋CMS  播放器增加記憶  自動下一集功能  

<< 上一篇

  • 評論(0)
  • 贊助本站

       

◎歡迎參與討論,請在這里發表您的看法、交流您的觀點。

相關文章

最新文章

資源分享網

網站分類

熱門標簽

支付寶掃碼領紅包

網站源碼 | 營銷軟件 | 最新電影 | 資料文檔 | 網站地圖

Copyright 268資源分享網

  • 陜ICP備17018001號
  • 云南快乐十分直选遗漏