UNPKG

jquery.mb.ytplayer

Version:

This plugin let you play any public YouTube video as background of your page. It can also be used as a customized player in page.

437 lines (353 loc) 11.1 kB
<!--:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: jquery.mb.components file: demo_as_player.html last modified: 10/25/18 8:00 PM Version: {{ version }} Build: {{ buildnum }} Open Lab s.r.l., Florence - Italy email: matteo@open-lab.com blog: http://pupunzi.open-lab.com site: http://pupunzi.com http://open-lab.com Licences: MIT, GPL http://www.opensource.org/licenses/mit-license.php http://www.gnu.org/licenses/gpl.html Copyright (c) 2001-2018. Matteo Bicocchi (Pupunzi) :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::--> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <title>youtube Chromeless Player - mb.YTPlayer</title> <link href='https://fonts.googleapis.com/css?family=Lekton|Lobster' rel='stylesheet' type='text/css'> <link href="../dist/css/jquery.mb.YTPlayer.min.css" media="all" rel="stylesheet" type="text/css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script src="../dist/jquery.mb.YTPlayer.js"></script> <script src="assets/apikey.js"></script> <style> body{ border:none; margin:0; padding:30px; background: #003e50; font:normal 16px/20px Lekton, sans-serif; min-width: 1280px; } h1, h2{ font-family: 'Lobster', cursive; font-size: 40px; text-shadow: 10px 10px 20px rgba(0, 0, 0, 0.30); color: #FFFFFF; font-weight: 200; } .player{ border-radius: 10px; box-shadow: 0 0 10px rgba(0,0,0,.5); } .player.fullscreen{ border-radius: 0; border: 0px solid #fff; box-shadow: none; } #wrapper { position:relative; padding:30px 20px; z-index:10; } .dida{ color: #fff; font-size: 20px; position: relative; width: 800px; margin: 0 60px; } .controls{ position: relative; width: 800px; margin: 0 50px; } button, .button { transition: all .4s; display: inline-block; padding: 0px 10px; font-size: 16px; cursor: pointer; background-color: rgba(248, 248, 248, 0.4); box-shadow: 0 0 4px rgba(0,0,0,0.4); color:#000; border: 1px solid transparent; text-decoration: none; line-height: 30px; margin: 3px; border-radius: 10px; } button:hover, .button:hover { background-color: rgb(0, 0, 0); color: #FFF; } button:focus{ outline: none; } #filtersControl{ position: absolute; top:70px; right: 50px; width: 400px; margin: 30px auto; } #filterScript{ margin-top: 20px; padding: 10px; background-color: rgba(25, 34, 37, 0.35); color: #fff; border-radius: 10px; } .slider { position: relative; width: 100%; height: 25px; border: 0 solid transparent; background-color: #192225; border-radius: 4px; margin-top: 10px; overflow: hidden; } .slider .level { background-color: #3c6784; height: 100%; } .slider .desc { position: absolute; right: 0; top: 0; padding: 5px; font-size: 12px; line-height: 18px; color: #fff; } .slider span { font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif; /*text-transform: uppercase;*/ position: absolute; top:0; font-size: 12px; line-height: 18px; color: #fff; padding: 4px; text-align: left; width: 100%; box-sizing: border-box; } .goto{ margin-top: 20px; text-align: center; width: 100%; height: 50px; } .goto .button{ font-size: 20px; font-family: 'Lobster', cursive; padding: 10px; } .player-container{ width: 60vw; min-width: 600px } #wp { position: absolute; right: 60px; top: 20px; z-index: 10; min-width: 300px; background: rgba(0, 0, 0, 0.55); /*background: #ffb200;*/ color: #fff; font-size: 24px; line-height: 24px; padding: 20px; cursor: pointer; text-align: left; border-radius: 10px; font-family: 'Lobster', cursive; } #wp:hover { background: #000000; } #wp img { width: 60px; margin-right: 20px; } @media only screen and (max-device-width: 480px) { body { width: 100%; min-width: 0; padding: 0; } h1 { margin-top: 80px; text-align: left; font-size: 40px; font-family: 'Lobster', cursive; line-height: 1; } h2 { font-size: 25px; text-align: left; line-height: 1.2; } #wrapper { position: relative; width: 100%; min-width: 0; padding:0; } .player-container{ width: 100%; min-width: 0; } .controls{ position: relative; width: 100%; margin: 0; } #donate { display: none; } .dida{ width: 100%; margin: 0; } #wp { position: relative!important; top: auto; left: auto; } #filtersControl { position: relative; top:0; right: 0px; width: 100%; margin: 0; } } </style> <script> var myPlayer; jQuery(function(){ myPlayer = jQuery("#P1").YTPlayer(); myPlayer.on("YTPData", function (e) { $(".dida").html(e.prop.title + "<br>@" + e.prop.channelTitle); }); /* create sliders for filters adjustment */ var $slider = $(".slider").simpleSlider({ initialval: 0, //function (el) {return Math.random() * el.opt.scale}, scale : 100, callback : function (el) { var filter = $(el).data("filter"); jQuery('#P1').YTPApplyFilter(filter, +(el.value).toFixed(0)); $("span",el).html(filter + " (" + (+(el.value).toFixed(0)) + ")"); var applFilters = []; var desc = "$(selector).YTPApplyFilters({"; for (var x=0; x < $(".slider").length; x++ ){ var slider = $(".slider").eq(x).get(0); var $slaider = $(slider); if(slider.value) applFilters.push($slaider.data("filter") + ": " + (+(slider.value).toFixed(0)) ); }; for (var y in applFilters){ var comma = y < applFilters.length-1 ? "," : "<br>"; desc += "<br> &nbsp;&nbsp;&nbsp;" + applFilters[y] + comma; } desc += "})"; $("#filterScript").html(desc); } }); //update applied filters myPlayer.on("YTPFiltersApplied", function(){ var filters = myPlayer.get(0).filters; for (var key in filters){ $(".slider[data-filter="+key+"]").updateSliderVal(filters[key].value); } }); myPlayer.on('YTPPlay', function(){ console.log('playing'); }); }); </script> </head> <body> <div id="wrapper"> <a id="pupunzi-home" href='https://pupunzi.com/#mb.components/components.html'><img id='logo' border='0' src='https://pupunzi.com/images/logo.png' alt='mb.ideas.repository'></a> <h1 style="color:white"> jQuery.mb.YTPlayer as a customized player </h1> <!-- l_tHTmd5pgk 0YcRwnE6Lzg--> <div class="player-container"> <div id="P1" class="player" style="display:block; background: rgba(0,0,0,0.5)" data-property="{videoURL:'l_tHTmd5pgk',containment:'self',showControls:true,startAt:6,mute:false,autoPlay:false,loop:false,opacity:1,showYTLogo:true, optimizeDisplay:true, coverImage:'assets/cover.png'}"></div><!--3ovA7zeviRo--> </div> <div class="controls"> <button onclick="jQuery('#P1').YTPPlay()">play</button> <button onclick="jQuery('#P1').YTPPause()">pause</button> <button onclick="jQuery('#P1').YTPToggleVolume()">mute/unmute</button> <button onclick="jQuery('#P1').YTPFullscreen()">go fullscreen</button> </div> <div id="filtersControl"> <h2>change video</h2> <button class="command" onclick="jQuery('#P1').YTPChangeVideo({videoURL: 'l_tHTmd5pgk', mute:false, addRaster:true})">video 1</button> <button class="command" onclick="jQuery('#P1').YTPChangeVideo({videoURL: '7SnmCUwOsts', mute:false, addRaster:false, autoPlay: true})">video 2</button> <button class="command" onclick="jQuery('#P1').YTPChangeVideo({videoURL: 'BsekcY04xvQ', mute:false, addRaster:false})">video 3</button> <button class="command" onclick="jQuery('#P1').YTPChangeVideo({videoURL: '8AE3_AJ9o2A', mute:false, startAt:0, addRaster:false, ratio:16/9})">video 4</button> <h2>Apply filters</h2> <h3 style="color: white">* Does not work in IE.</h3> <button id="toggleFilters" onclick="jQuery('#P1').YTPToggleFilters(function(a){if(!a) {$('#toggleFilters').html('enable filters')} else {$('#toggleFilters').html('disable filters')}})"> disable filters </button> <div class="slider" data-filter="grayscale"><span>grayscale</span> </div> <div class="slider" data-filter="hue_rotate" data-scale="360"><span>hue rotate</span> </div> <div class="slider" data-filter="invert"><span>invert</span> </div> <div class="slider" data-filter="sepia"><span>sepia</span> </div> <div class="slider" data-filter="opacity"><span>opacity</span> </div> <div class="slider" data-filter="saturate" data-scale="200"><span>saturate</span> </div> <div class="slider" data-filter="brightness" data-scale="200"><span>brightness</span> </div> <div class="slider" data-filter="contrast" data-scale="500"><span>contrast</span> </div> <div class="slider" data-filter="blur" data-scale="50"><span>blur</span> </div> <div id="filterScript"> </div> <div class="goto"> <a class="button" href="https://github.com/pupunzi/jquery.mb.YTPlayer/wiki" target="_blank">See the doc</a> <a class="button" href="http://pupunzi.open-lab.com/mb-jquery-components/jquery-mb-ytplayer" target="_blank">Download it</a> </div> </div> </div> <div class="dida"></div> <br> <button onclick="jQuery.mbYTPlayer.removeStoredData()" style="margin: 0px 60px;"> Remove stored data </button> <a style="position: fixed;bottom:40px;right: 30px;" href="http://pupunzi.open-lab.com/consider-a-donation/" target="_blank"> <img border="0" alt="PayPal" src="https://www.paypal.com/en_US/i/btn/btn_donateCC_LG_global.gif" class="alignright"> </a> <div id="wp" onclick="self.location.href='https://pupunzi.com/wpPlus/go-plus.php?plugin_prefix=YTPL'"> <img src="https://pupunzi.com/wpPlus/images/YTPL.svg" style="float: left"> <span>Get the <br><b>Wordpress</b> Plug-in!</span> </div> </body> </html>