{"id":2435,"date":"2019-08-08T16:03:22","date_gmt":"2019-08-08T16:03:22","guid":{"rendered":"https:\/\/webdevtrick.com\/?p=2435"},"modified":"2019-08-08T16:03:22","modified_gmt":"2019-08-08T16:03:22","slug":"html-video-player-javascript-css","status":"publish","type":"post","link":"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/","title":{"rendered":"HTML Video Player With JavaScript and CSS | Advanced Playlist Feature"},"content":{"rendered":"<p><strong>How we can create an advanced video player using HTML, CSS, and JavaScript? Solution: HTML Video Player With JavaScript and CSS, Comes with Advance Playlist Feature.<\/strong><\/p>\n<p>Before releasing HTML 5, the video only could be played on the webpage with plug-in like flash. <strong>HTML 5<\/strong> comes with <strong>&lt;video&gt;<\/strong> element to embed videos in the webpage. There is a separate<strong> tag for videos<\/strong>, now placing any video on a website is too easy. Also, we can<strong> modify the video player<\/strong> using <strong>CSS &amp; JS<\/strong>.<\/p>\n<p>Today you will learn to create an <strong>advanced video player<\/strong> with playlist. Basically, this is an HTML <span class=\"lang:default decode:true crayon-inline \">&lt;video&gt;<\/span> element based player but there are lots of <span><a href=\"https:\/\/webdevtrick.com\/css-custom-scrollbar\/\" target=\"_blank\" rel=\"noopener noreferrer\"> modification<\/a><\/span>. The special feature of this player is there is more than one video, and all the <strong>videos listed like a playlist<\/strong>. Also, a basic but useful thing is we can use a <strong>custom thumbnail <\/strong>image for videos.<\/p>\n<p>So, Today I am sharing <strong>HTML Video Player With JavaScript and CSS<\/strong>. I have said that this is an <strong>advance video player<\/strong>, let me tell you all the features. This player has a <span><a href=\"https:\/\/webdevtrick.com\/toggle-button-css\/\" target=\"_blank\" rel=\"noopener noreferrer\">toggle on\/off<\/a><\/span> feature, custom thumbnail, title, description, playlist, custom sound control UI, etc. This program is inspired by a Reddit post. There are JS function for each feature, you can understand if you have good<strong> knowledge of JavaScript<\/strong>.<\/p>\n<p>If you are thinking now how this<strong> Advanced Video Player with Playlist<\/strong> actually is, then see the<strong> preview<\/strong> given below.<\/p>\n<h3>Preview Of Advanced Playlist Featured Player<\/h3>\n<p>See this video preview to getting an idea of how the player looks like.<\/p>\n<div style=\"width: 640px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-2435-1\" width=\"640\" height=\"328\" loop autoplay preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/webdevtrick.com\/wp-content\/uploads\/html5-video-player.mp4?_=1\" \/><a href=\"https:\/\/webdevtrick.com\/wp-content\/uploads\/html5-video-player.mp4\">https:\/\/webdevtrick.com\/wp-content\/uploads\/html5-video-player.mp4<\/a><\/video><\/div>\n<a class=\"maxbutton-2 maxbutton maxbutton-demo\" target=\"_blank\" rel=\"noopener\" href=\"https:\/\/webdevtrick.com\/demos\/html-video-player\/\"><span class='mb-text'>Live Demo<\/span><\/a>\n<p>Now you can see this visually, You can also see live by pressing the live view button given above. If you like this, then get the <strong>source code<\/strong> of its.<\/p>\n<p><span style=\"font-size: 14pt;\">You May Also Like:<\/span><\/p>\n<ul>\n \t<span><\/p>\n<li><a href=\"https:\/\/webdevtrick.com\/html-css-beautifier-and-minifier\/\" target=\"_blank\" rel=\"noopener noreferrer\">HTML CSS Beautifier &amp; Minifier<\/a><\/li>\n<li><a href=\"https:\/\/webdevtrick.com\/javascript-countdown-timer\/\" target=\"_blank\" rel=\"noopener noreferrer\">JavaScript Countdown Timer<\/a><\/li>\n<li><a href=\"https:\/\/webdevtrick.com\/javascript-scroll-percentage\/\" target=\"_blank\" rel=\"noopener noreferrer\">Show Scroll Percentage<\/a><\/li>\n<li><a href=\"https:\/\/webdevtrick.com\/javascript-scroll-to-top\/\" target=\"_blank\" rel=\"noopener noreferrer\">Scroll To Top Feature<\/a><\/li>\n<p><\/span>\n<\/ul>\n<h2>HTML Video Player With JavaScript and CSS Source Code<\/h2>\n<p>Before <strong>sharing source code<\/strong>, let&#8217;s talk about it. As you know I have used <strong>HTML &lt;video&gt; tag<\/strong>\u00a0for <strong>embedding<\/strong> all the videos. These videos have no sound, that&#8217;s why you can hear any sound. You can place your own videos and thumbnails. For placing custom thumbnail, I have used <strong>HTML video poster attribute<\/strong>, That looks like this: <span class=\"lang:xhtml decode:true crayon-inline\">&lt;video src=&#8221;MyVideo.mp4&#8243; poster=&#8221;image.jpg&#8221;&gt;<\/span> .<\/p>\n<p>For creating icon I have used font-awesome icons but using <a href=\"https:\/\/weloveiconfonts.com\" target=\"_blank\" rel=\"noopener noreferrer\">weloveiconfonts<\/a>.\u00a0 There is also a <span><a href=\"https:\/\/webdevtrick.com\/css-progress-bar-like-ios-devices\/\" target=\"_blank\" rel=\"noopener noreferrer\">progress bar<\/a><\/span> to visualize the video length &amp; you can direct shift on any timestamp. In the <strong>CSS<\/strong> file, I have managed all the styles, colors, position, etc. There have many lines of basic CSS codes. As you can see in the preview, Title of each v<strong>ideo change dynamically<\/strong> on the top element.<\/p>\n<p>Using <strong><span><a href=\"https:\/\/webdevtrick.com\/web-development\/javascript\/\" target=\"_blank\" rel=\"noopener noreferrer\">JavaScript<\/a><\/span><\/strong> I have managed all the controls. I have fetched all the ID and class using JavaScrip <em>el<\/em>. <code>el<\/code> is just an identifier and it refers to an element, a DOM element, which is a convention in that library. Maybe if someone has <strong>good skills in JS<\/strong>, they can understand the codes. I can&#8217;t explain all the things in writing. You can understand the functions, after <strong>getting the codes<\/strong>.<\/p>\n<p>For creating this program you have to create 3 files. First for <strong>HTML<\/strong>, second for<strong> CSS<\/strong>, and the third for <strong>JS<\/strong>. Follow the steps to creating this without any error.<\/p>\n<p><span style=\"font-size: 14pt;\">index.html<\/span><\/p>\n<p>Create an HTML file named &#8216;<strong><em>index.html<\/em><\/strong>&#8216; and put these codes given here below.<\/p>\n<pre class=\"height-set:true height:750 lang:xhtml decode:true\" title=\"index.html\">&lt;!DOCTYPE html&gt;\r\n&lt;!--Code By Webdevtrick ( https:\/\/webdevtrick.com )--&gt;\r\n&lt;html lang=\"en\" &gt;\r\n&lt;head&gt;\r\n  &lt;meta charset=\"UTF-8\"&gt;\r\n  &lt;title&gt;HTML Advance Video Player | Webdevtrick.com&lt;\/title&gt;\r\n  &lt;link href='https:\/\/fonts.googleapis.com\/css?family=Source+Sans+Pro:200,400,600,700' rel='stylesheet' type='text\/css'&gt;\r\n  &lt;link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/normalize\/5.0.0\/normalize.min.css\"&gt;\r\n&lt;link rel=\"stylesheet\" href=\".\/style.css\"&gt;\r\n&lt;\/head&gt;\r\n&lt;body&gt;\r\n\r\n&lt;main class=\"site-content\"&gt;\r\n\r\n  &lt;section class=\"video-area\"&gt;\r\n    &lt;div class=\"wrapper\"&gt;\r\n\r\n      &lt;header class=\"video-header\"&gt;\r\n        &lt;h2 class=\"video-title\"&gt;HTML 5 Video Player&lt;\/h2&gt;\r\n        &lt;small class=\"video-author\"&gt;Code By &lt;a href=\"https:\/\/webdevtrick.com\/\"&gt;WebDevTrick&lt;\/a&gt;&lt;\/small&gt;\r\n      &lt;\/header&gt;\r\n\r\n      &lt;div class=\"video-column\"&gt;\r\n        &lt;div class=\"video-player\"&gt;\r\n          &lt;button id=\"btnReplay\" class=\"btn-replay\"&gt;&lt;span class=\"fontawesome-refresh\"&gt;&lt;\/span&gt;&lt;\/button&gt;\r\n\r\n          &lt;video id=\"video\" class=\"video\" src=\"https:\/\/webdevtrick.com\/wp-content\/uploads\/horizontal-scrolling-menu-bar.mp4\" type=\"video\/mp4\" poster=\"https:\/\/webdevtrick.com\/wp-content\/uploads\/horizontal-scroll-navigation.jpg\" preload=\"none\"&gt;\r\n                        &lt;\/video&gt;\r\n\r\n          &lt;div class=\"video-controls\"&gt;\r\n\r\n            &lt;button id=\"btnState\"&gt;&lt;span class=\"fontawesome-play\"&gt;&lt;\/span&gt;&lt;\/button&gt;\r\n\r\n            &lt;span id=\"timePlayed\"&gt;00:00&lt;\/span&gt;\r\n\r\n            &lt;div class=\"video-bars\"&gt;\r\n              &lt;input type=\"range\" id=\"barSeeker\" class=\"bar-seeker\" value=\"0\" min=\"0\" max=\"100\" step=\"0.1\"&gt;\r\n              &lt;progress value=\"0\" max=\"100\" step=\"0.1\" id=\"barProgress\" class=\"bar-progress\"&gt;&lt;\/progress&gt;\r\n              &lt;progress value=\"0\" max=\"100\" step=\"0.1\" id=\"barBuffer\" class=\"bar-buffer\"&gt;&lt;\/progress&gt;\r\n            &lt;\/div&gt;\r\n\r\n            &lt;div id=\"timeBubble\" class=\"time-bubble\"&gt;00:00&lt;\/div&gt;\r\n\r\n            &lt;span id=\"timeDuration\"&gt;00:00&lt;\/span&gt;\r\n\r\n            &lt;button id=\"btnSound\" class=\"btn-sound\"&gt;&lt;span class=\"fontawesome-volume-up\"&gt;&lt;\/span&gt;&lt;\/button&gt;\r\n            &lt;input type=\"range\" id=\"sliderVolume\" class=\"slider-volume\" value=\"10\" min=\"0\" max=\"10\"&gt;\r\n\r\n          &lt;\/div&gt;\r\n        &lt;\/div&gt;\r\n\r\n        &lt;div class=\"video-info\"&gt;\r\n\r\n          &lt;div class=\"description\"&gt;\r\n            &lt;p&gt;How we can create a scrolling navigation bar using HTML and CSS? Solution: Horizontal Scroll Navigation Using HTML CSS, Scrolling Menu Bar.&lt;\/p&gt;\r\n          &lt;\/div&gt;\r\n        &lt;\/div&gt;\r\n      &lt;\/div&gt;\r\n\r\n      &lt;div id=\"playlist\" class=\"playlist\"&gt;\r\n        &lt;header class=\"next\"&gt;Comming Next&lt;\/header&gt;\r\n\r\n        &lt;a href=\"https:\/\/webdevtrick.com\/wp-content\/uploads\/clip-path-animation-hover.mp4\" class=\"next-video\"&gt;\r\n          &lt;img src=\"https:\/\/webdevtrick.com\/wp-content\/uploads\/css-clip-path-animation-card.jpg\" alt=\"\"&gt;\r\n          &lt;h3 class=\"single-video-title\"&gt;CSS Clip-Path&lt;\/h3&gt;\r\n          &lt;p class=\"single-video-info\"&gt;Built in Pure CSS&lt;\/p&gt;\r\n            &lt;span class=\"single-video-des\"&gt;How we can create an animated hover effect card using CSS clip-path? Solution: CSS Clip Path Animation Card, Clip-Path Hover Cards.\r\n\r\n            &lt;\/span&gt;&lt;\/p&gt;\r\n        &lt;\/a&gt;\r\n\r\n        &lt;a href=\"https:\/\/webdevtrick.com\/wp-content\/uploads\/animated-bar-graphs-javascript.mp4\" class=\"next-video\"&gt;\r\n          &lt;img src=\"https:\/\/webdevtrick.com\/wp-content\/uploads\/javascript-animated-bar-graph.jpg\" alt=\"\"&gt;\r\n          &lt;h3 class=\"single-video-title\"&gt;Bar Graphs&lt;\/h3&gt;\r\n          &lt;p class=\"single-video-info\"&gt;Built in JavaScript &lt;\/p&gt;\r\n          &lt;span class=\"single-video-des\"&gt;How we can create Bar Graphs With Animation using JavaScript, HTML, &amp; CSS? Solution: JavaScript Animated Bar Graph. In Other Words, Bar Chart With Animation Effects.\r\n\r\n            &lt;\/span&gt;&lt;\/p&gt;\r\n        &lt;\/a&gt;\r\n\r\n        &lt;a href=\"https:\/\/webdevtrick.com\/wp-content\/uploads\/animated-login-page-design.mp4\" class=\"next-video\"&gt;\r\n          &lt;img src=\"https:\/\/webdevtrick.com\/wp-content\/uploads\/login-page-in-html-css.jpg\" alt=\"\"&gt;\r\n          &lt;h3 class=\"single-video-title\"&gt;Login Page&lt;\/h3&gt;\r\n          &lt;p class=\"single-video-info\"&gt;Pure HTML &amp; CSS &lt;\/p&gt;\r\n            &lt;span class=\"single-video-des\"&gt;How we can create an animated login page design using HTML and CSS? Solution: Animated Login Page In HTML CSS, Example and Source Code.\r\n\r\n            &lt;\/span&gt;&lt;\/p&gt;\r\n        &lt;\/a&gt;\r\n\r\n        &lt;a href=\"https:\/\/webdevtrick.com\/wp-content\/uploads\/horizontal-scrolling-menu-bar.mp4\" class=\"next-video played-video\"&gt;\r\n          &lt;img src=\"https:\/\/webdevtrick.com\/wp-content\/uploads\/horizontal-scroll-navigation.jpg\" alt=\"\"&gt;\r\n          &lt;h3 class=\"single-video-title\"&gt;Horizontal Scroll Menu &lt;\/h3&gt;\r\n          &lt;p class=\"single-video-info\"&gt;Built in HTML CSS &lt;\/p&gt;\r\n            &lt;span class=\"single-video-des\"&gt;How we can create a scrolling navigation bar using HTML and CSS? Solution: Horizontal Scroll Navigation Using HTML CSS, Scrolling Menu Bar.&lt;\/span&gt;&lt;\/p&gt;\r\n        &lt;\/a&gt;\r\n      &lt;\/div&gt;\r\n    &lt;\/div&gt;\r\n  &lt;\/section&gt;\r\n&lt;\/main&gt;\r\n  &lt;script  src=\"function.js\"&gt;&lt;\/script&gt;\r\n\r\n&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p><span style=\"font-size: 14pt;\">style.css<\/span><\/p>\n<p>Now create a CSS file named &#8216;<em><strong>style.css<\/strong><\/em>&#8216; and put these codes given here.<\/p>\n<pre class=\"height-set:true height:750 lang:css decode:true\" title=\"style.css\">\/** Code By Webdevtrick ( https:\/\/webdevtrick.com ) **\/\r\n@import url(https:\/\/weloveiconfonts.com\/api\/?family=fontawesome);\r\n[class*=\"fontawesome-\"]:before {\r\n  font-family: 'FontAwesome', sans-serif;\r\n}\r\nbody {\r\n  background: #e8eaed;\r\n  font: 16px\/1.5 \"Source Sans Pro\", \"Helvetica Neue\", Arial, sans-serif;\r\n}\r\nimg {\r\n  max-width: 100%;\r\n}\r\nh2 {\r\n  font-weight: 400;\r\n  font-size: 1.5rem;\r\n}\r\na {\r\n  color: inherit;\r\n  text-decoration: none;\r\n  box-shadow: inset 0px -1px 0px rgba(255, 255, 255, 0.5);\r\n  transition: all 0.5s;\r\n}\r\na:hover {\r\n  box-shadow: inset 0px -24px 0px #61b5d9;\r\n}\r\n.wrapper {\r\n  margin: 0 auto;\r\n  padding: 0 1em;\r\n  max-width: 69rem;\r\n}\r\n.truncate, .video-title, .single-video-title, .single-video-info {\r\n  box-sizing: border-box;\r\n  overflow: hidden;\r\n  text-overflow: ellipsis;\r\n  white-space: nowrap;\r\n  width: 100%;\r\n}\r\n.video-area {\r\n  -webkit-animation-delay: 0.5s;\r\n          animation-delay: 0.5s;\r\n  -webkit-animation-fill-mode: both;\r\n          animation-fill-mode: both;\r\n  color: #fff;\r\n  padding: 4.5rem 0;\r\n}\r\n.video-column {\r\n  float: left;\r\n  max-width: 854px;\r\n}\r\n.video-player {\r\n  background: #000;\r\n  position: relative;\r\n  overflow: hidden;\r\n  width: 100%;\r\n  height: 480px;\r\n}\r\n.video {\r\n  display: block;\r\n  cursor: pointer;\r\n  width: 100%;\r\n  position: relative;\r\n  top: 50%;\r\n  -webkit-transform: translateY(-50%);\r\n          transform: translateY(-50%);\r\n}\r\n.playlist {\r\n  float: right;\r\n  font-size: 18px;\r\n  font-weight: 600;\r\n  max-width: 250px;\r\n}\r\n.video-header {\r\n  background: #e60023;\r\n  line-height: 1.5rem;\r\n  padding: 1.5rem;\r\n}\r\n.video-title {\r\n  float: left;\r\n  margin: 0;\r\n  width: auto;\r\n  max-width: 75%;\r\n}\r\n.video-author {\r\n  font-size: 18px;\r\n  float: left;\r\n  margin-left: 3rem;\r\n}\r\n.description {\r\n  color: #212121;\r\n}\r\n.video-author a:hover {\r\n  box-shadow: inset 0px -24px 0px #212121;\r\n}\r\n.video-controls {\r\n  box-sizing: border-box;\r\n  background: rgb(33,33,33, 0.8);\r\n  line-height: 3rem;\r\n  padding: 0 1.5rem;\r\n  position: absolute;\r\n  bottom: 0;\r\n  -webkit-transform: translate3d(0, 3rem, 0);\r\n          transform: translate3d(0, 3rem, 0);\r\n  width: 100%;\r\n  height: 3rem;\r\n  vertical-align: middle;\r\n  transition: -webkit-transform 0.5s;\r\n  transition: transform 0.5s;\r\n  transition: transform 0.5s, -webkit-transform 0.5s;\r\n}\r\n.video-controls button {\r\n  background: 0;\r\n  border: 0;\r\n  color: #fff;\r\n  font-size: 1.5rem;\r\n  width: 3rem;\r\n  height: 3rem;\r\n  vertical-align: middle;\r\n}\r\n.video-player:hover .video-controls {\r\n  -webkit-transform: translate3d(0, 0, 0);\r\n          transform: translate3d(0, 0, 0);\r\n}\r\n.video-bars {\r\n  background: rgb(33,33,33, 0.8);\r\n  display: inline-block;\r\n  margin: 0 1em;\r\n  position: relative;\r\n  width: 73%;\r\n  height: 8px;\r\n}\r\n.bar-seeker,\r\n.bar-progress,\r\n.bar-buffer {\r\n  position: absolute;\r\n  height: 8px;\r\n}\r\n.bar-seeker {\r\n  z-index: 1000;\r\n}\r\n.bar-progress {\r\n  z-index: 100;\r\n}\r\n.bar-buffer {\r\n  z-index: 10;\r\n}\r\ninput[type=range] {\r\n  background: transparent;\r\n  cursor: pointer;\r\n  -webkit-appearance: none;\r\n  width: 100%;\r\n}\r\ninput[type=range]::-webkit-slider-runnable-track {\r\n  -webkit-appearance: none;\r\n}\r\ninput[type=range]::-webkit-slider-thumb {\r\n  -webkit-appearance: none;\r\n}\r\ninput[type=range]:focus {\r\n  outline: none;\r\n}\r\ninput[type=range]::-ms-track {\r\n  width: 100%;\r\n  cursor: pointer;\r\n  background: transparent;\r\n  border-color: transparent;\r\n  color: transparent;\r\n}\r\n.bar-seeker::-ms-fill-lower {\r\n  background: transparent;\r\n}\r\n.bar-seeker::-ms-fill-upper {\r\n  background: transparent;\r\n}\r\n.bar-seeker::-webkit-slider-runnable-track {\r\n  background: transparent;\r\n  height: 8px;\r\n  padding: 0;\r\n}\r\n.bar-seeker::-moz-range-track {\r\n  background: transparent;\r\n  height: 8px;\r\n  padding: 0;\r\n}\r\n.bar-seeker::-ms-track {\r\n  background: transparent;\r\n  height: 8px;\r\n  padding: 0;\r\n}\r\n.bar-seeker::-webkit-slider-thumb {\r\n  background: #ff3c3c;\r\n  border: 0;\r\n  border-radius: 100%;\r\n  width: 18px;\r\n  height: 18px;\r\n  margin-top: -4px;\r\n}\r\n.bar-seeker::-moz-range-thumb {\r\n  background: #ff3c3c;\r\n  border: 0;\r\n  border-radius: 100%;\r\n  width: 18px;\r\n  height: 18px;\r\n  margin-top: -4px;\r\n}\r\n.bar-seeker::-ms-thumb {\r\n  background: #ff3c3c;\r\n  border: 0;\r\n  border-radius: 100%;\r\n  width: 18px;\r\n  height: 18px;\r\n  margin-top: -4px;\r\n}\r\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\r\n  .bar-seeker {\r\n    height: 24px;\r\n    margin-top: -5px;\r\n    padding: 0;\r\n    vertical-align: middle;\r\n  }\r\n}\r\ninput.slider-volume {\r\n  position: absolute;\r\n  bottom: 36px;\r\n  right: -40px;\r\n  width: 6rem;\r\n  opacity: 0;\r\n  -webkit-transform: rotate(-90deg) scaleX(0);\r\n          transform: rotate(-90deg) scaleX(0);\r\n  -webkit-transform-origin: left;\r\n          transform-origin: left;\r\n  transition: all 1s;\r\n}\r\n.slider-volume::-webkit-slider-runnable-track {\r\n  background: rgb(33,33,33, 0.8);\r\n  height: 20px;\r\n}\r\n.slider-volume::-moz-range-track {\r\n  background: rgb(33,33,33, 0.8);\r\n  height: 20px;\r\n}\r\n.slider-volume::-ms-track {\r\n  background: rgb(33,33,33, 0.8);\r\n  height: 20px;\r\n}\r\n.slider-volume::-webkit-slider-thumb {\r\n  background: #ff3c3c;\r\n  border: 0;\r\n  width: 8px;\r\n  height: 24px;\r\n  margin-top: -2px;\r\n}\r\n.slider-volume::-moz-range-thumb {\r\n  background: #ff3c3c;\r\n  border: 0;\r\n  width: 8px;\r\n  height: 24px;\r\n  margin-top: -2px;\r\n}\r\n.slider-volume::-ms-thumb {\r\n  background: #ff3c3c;\r\n  border: 0;\r\n  width: 8px;\r\n  height: 24px;\r\n  margin-top: -2px;\r\n}\r\n.btn-sound:hover + .slider-volume,\r\n.slider-volume:hover {\r\n  opacity: 1;\r\n  -webkit-transform: rotate(-90deg) scaleX(1);\r\n          transform: rotate(-90deg) scaleX(1);\r\n}\r\nprogress {\r\n  -webkit-appearance: none;\r\n  -moz-appearance: none;\r\n  appearance: none;\r\n  background: transparent;\r\n  color: rgba(255, 255, 255, 0.2);\r\n  border: none;\r\n  height: 8px;\r\n  width: 100%;\r\n}\r\nprogress::-webkit-progress-bar {\r\n  background: transparent;\r\n}\r\nprogress::-webkit-progress-value {\r\n  background: transparent;\r\n}\r\n.bar-buffer::-webkit-progress-value {\r\n  background: rgba(255, 255, 255, 0.2);\r\n}\r\n.bar-buffer::-moz-progress-bar {\r\n  background: rgba(255, 255, 255, 0.2);\r\n}\r\n.bar-progress::-webkit-progress-value {\r\n  background: #ff3c3c;\r\n}\r\n.bar-progress::-moz-progress-bar {\r\n  background: #ff3c3c;\r\n}\r\n.bar-progress {\r\n  color: #ff3c3c;\r\n}\r\n.btn-replay {\r\n  background: none;\r\n  border: none;\r\n  display: none;\r\n  color: #ff3c3c;\r\n  position: absolute;\r\n  top: 50%;\r\n  left: 50%;\r\n  margin-left: -110px;\r\n  margin-top: -110px;\r\n  font-size: 9rem;\r\n  width: 220px;\r\n  height: 220px;\r\n}\r\n.time-bubble {\r\n  background: #61b5d9;\r\n  border-radius: 1.5rem 1.5rem 0px;\r\n  height: 1.5rem;\r\n  line-height: 1.5rem;\r\n  position: absolute;\r\n  bottom: 3.2rem;\r\n  left: 4.8rem;\r\n  padding: 0.5em;\r\n  display: none;\r\n}\r\n.next {\r\n  background: #212121;\r\n  padding: 16.5px;\r\n  max-height: 60px;\r\n}\r\n.next-video {\r\n  display: block;\r\n  height: 140px;\r\n  position: relative;\r\n  overflow: hidden;\r\n}\r\n.next-video img {\r\n  display: block;\r\n}\r\n.next-video::before {\r\n  background: linear-gradient(0deg, rgb(33,33,33, 0.8) 0%, transparent 60%);\r\n  content: \"\";\r\n  width: 100%;\r\n  height: 100%;\r\n  position: absolute;\r\n  transition: all 0.5s;\r\n}\r\n.single-video-title {\r\n  position: absolute;\r\n  -webkit-transform: translateY(-4.5rem);\r\n          transform: translateY(-4.5rem);\r\n  padding: 0.75rem 1.5rem;\r\n  transition: all 0.5s;\r\n}\r\n.single-video-info {\r\n  box-sizing: border-box;\r\n  font-size: 14px;\r\n  font-weight: 400;\r\n  padding: 0.75rem 1.5rem;\r\n  position: absolute;\r\n  -webkit-transform: translateY(-6.75rem);\r\n          transform: translateY(-6.75rem);\r\n  transition: all 0.5s;\r\n  opacity: 0;\r\n  width: 100%;\r\n}\r\n.next-video:hover .single-video-title {\r\n  -webkit-transform: translateY(-9.75rem);\r\n          transform: translateY(-9.75rem);\r\n}\r\n.next-video:hover::before {\r\n  background: rgb(33,33,33, 0.7);\r\n}\r\n.next-video:hover .single-video-info {\r\n  opacity: 1;\r\n}\r\n.played-video {\r\n  -webkit-transform: scale(0);\r\n          transform: scale(0);\r\n  height: 0;\r\n  width: 0;\r\n}\r\n.info-area {\r\n  background: #fff;\r\n  color: #212121;\r\n}\r\n.info-heading {\r\n  color: #61b5d9;\r\n  font-size: 3rem;\r\n  font-weight: 300;\r\n  text-align: center;\r\n  margin: 4.5rem auto;\r\n}\r\n.clearfix:before, .wrapper:before, .video-header:before, .clearfix:after, .wrapper:after, .video-header:after {\r\n  content: \" \";\r\n  display: table;\r\n}\r\n.clearfix:after, .wrapper:after, .video-header:after {\r\n  clear: both;\r\n}\r\n@-webkit-keyframes bottomSlide {\r\n  0% {\r\n    -webkit-transform: translate3d(0, 100%, 0);\r\n            transform: translate3d(0, 100%, 0);\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}\r\n@keyframes bottomSlide {\r\n  0% {\r\n    -webkit-transform: translate3d(0, 100%, 0);\r\n            transform: translate3d(0, 100%, 0);\r\n    opacity: 1;\r\n  }\r\n  100% {\r\n    opacity: 1;\r\n  }\r\n}<\/pre>\n<p><span style=\"font-size: 14pt;\">function.js<\/span><\/p>\n<p>The final step, Create a JavaScript file named &#8216;<em><strong>function.js<\/strong><\/em>&#8216; and put the codes.<\/p>\n<pre class=\"height-set:true height:750 lang:js decode:true \" title=\"function.js\">\/* Code By Webdevtrick ( https:\/\/webdevtrick.com ) *\/\r\nvar videoPlayer = function(){\r\n    \"use strict\";\r\n\r\n    function el(id) {\r\n        return document.getElementById(id);\r\n    }\r\n\r\n    var vid = el(\"video\"),\r\n\r\n        btnState = el(\"btnState\"),\r\n        btnReplay = el(\"btnReplay\"),\r\n        btnSound = el(\"btnSound\"),\r\n        sliderVolume = el(\"sliderVolume\"),\r\n\r\n        barSeeker = el(\"barSeeker\"),\r\n        barBuffer = el(\"barBuffer\"),\r\n        barProgress = el(\"barProgress\"),\r\n\r\n        timePlayed = el(\"timePlayed\"),\r\n        timeDuration = el(\"timeDuration\"),\r\n        timeBubble = el(\"timeBubble\"),\r\n\r\n        thePosition,\r\n        theMinutes,\r\n        theSeconds,\r\n        theTime;\r\n\r\n    var readableTime = function(t) {\r\n        theMinutes = \"0\" + Math.floor(t \/ 60); \/\/ Divide seconds to get minutes, add leading zero\r\n        theSeconds = \"0\" + parseInt(t % 60); \/\/ Get remainder seconds\r\n        theTime = theMinutes.slice(-2) + \":\" + theSeconds.slice(-2); \/\/ Slice to two spots to remove excess zeros\r\n        return theTime;\r\n    };\r\n\r\n    \/* Video controls *\/\r\n\r\n    var togglePlay = function(){\r\n        if(vid.paused) {\r\n            vid.play();\r\n            btnState.firstElementChild.className = \"fontawesome-pause\";\r\n            btnReplay.style.display = \"none\";\r\n            vid.style.opacity = 1;\r\n        } else {\r\n            vid.pause();\r\n            btnState.firstElementChild.className = \"fontawesome-play\";\r\n        }\r\n    };\r\n\r\n    var toggleSound = function(){\r\n        if(vid.muted) {\r\n            vid.muted = false;\r\n            sliderVolume.value = 10;\r\n            btnSound.firstElementChild.className = \"fontawesome-volume-up\";\r\n        } else {\r\n            vid.muted = true;\r\n            sliderVolume.value = 0;\r\n            btnSound.firstElementChild.className = \"fontawesome-volume-off\";\r\n        }\r\n    };\r\n\r\n    \/* Update seeker value and time played *\/\r\n    var updateTimeDisplay = function() {\r\n        var timePercent = (100 \/ vid.duration) * vid.currentTime;\r\n        barSeeker.value = timePercent;\r\n        barProgress.value = timePercent;\r\n        timePlayed.innerHTML = readableTime(vid.currentTime);\r\n    };\r\n\r\n    var replayVideo = function() {\r\n        vid.currentTime = 0;\r\n        btnState.firstElementChild.className = \"fontawesome-pause\";\r\n        btnReplay.style.display = \"none\";\r\n        vid.play();\r\n    };\r\n\r\n    \/\/ Toggle buttons\r\n    vid.addEventListener(\"click\",togglePlay);\r\n    btnState.addEventListener(\"click\",togglePlay);\r\n    btnSound.addEventListener(\"click\",toggleSound);\r\n\r\n    \/\/ Volume slider\r\n    sliderVolume.addEventListener(\"change\", function() {\r\n        var theVolume = sliderVolume.value \/ 10;\r\n        vid.volume = theVolume;\r\n\r\n        if(theVolume === 0) {\r\n            btnSound.firstElementChild.className = \"fontawesome-volume-off\";\r\n        } else if (theVolume === 1) {\r\n            btnSound.firstElementChild.className = \"fontawesome-volume-up\";\r\n        } else {\r\n            btnSound.firstElementChild.className = \"fontawesome-volume-down\";\r\n        }\r\n    });\r\n\r\n    \/\/ Move seeker bar\r\n    vid.addEventListener(\"timeupdate\",updateTimeDisplay);\r\n\r\n    \/\/ Allow click on seeker to change video position\r\n    barSeeker.addEventListener(\"change\", function() {\r\n        thePosition = vid.duration * (barSeeker.value \/ 100);\r\n        vid.currentTime = thePosition;\r\n    });\r\n\r\n    \/\/ Pause video and seeker update while seeker is being interacted with\r\n    barSeeker.addEventListener(\"mousedown\",function(){\r\n        vid.pause();\r\n        vid.removeEventListener(\"timeupdate\",updateTimeDisplay);\r\n    });\r\n\r\n    barSeeker.addEventListener(\"mouseup\",function(){\r\n        vid.play();\r\n        btnState.firstElementChild.className = \"fontawesome-pause\";\r\n        vid.addEventListener(\"timeupdate\",updateTimeDisplay);\r\n    });\r\n\r\n    \/\/ Buffer bar\r\n    vid.addEventListener(\"timeupdate\", function() {\r\n        var bufferPercent = (100 \/ vid.duration) * vid.buffered.end(vid.buffered.length - 1);\r\n        barBuffer.value = bufferPercent;\r\n    });\r\n\r\n    \/\/ Video length\r\n    vid.addEventListener('loadeddata', function(){\r\n        timeDuration.innerHTML = readableTime(vid.duration);\r\n    });\r\n\r\n    \/\/ Time bubble on seeker\r\n    var bubblePop = function(e){\r\n        var cursorPos = (e.clientX - (barSeeker.getBoundingClientRect().left)) \/ (barSeeker.offsetWidth);\r\n        var seekTime = cursorPos * vid.duration;\r\n\r\n        if(seekTime) {\r\n            timeBubble.innerHTML = readableTime(seekTime);\r\n            timeBubble.style.left = (e.clientX - barSeeker.getBoundingClientRect().left + 78) + \"px\";\r\n            timeBubble.style.display = \"block\";\r\n        }\r\n    };\r\n\r\n    barSeeker.addEventListener(\"mousemove\", bubblePop);\r\n\r\n    barSeeker.addEventListener(\"mouseout\", function(){\r\n        timeBubble.style.display = \"none\";\r\n    });\r\n\r\n\/\/ Video playlist\r\nvar playlistAnchor = document.querySelectorAll(\".next-video\"),\r\n    imageURL = document.querySelectorAll(\".next-video img\");\r\n\r\nvar prevTitle = document.querySelector(\".video-title\"),\r\n    prevDescription = document.querySelector(\".description\");\r\n\r\n    for (var i = 0; i &lt; 4; i++) {\r\n        (function(){\r\n            var k = i;\r\n\r\n            playlistAnchor[i].addEventListener(\"click\", function(e){\r\n                e.preventDefault();\r\n\r\n                var playedVideo = document.querySelector(\".played-video\");\r\n                playedVideo.classList.remove(\"slide\");\r\n                playedVideo.classList.remove(\"played-video\");\r\n\r\n                \/\/ Update video\r\n                vid.poster = imageURL[k].src;\r\n                vid.src = playlistAnchor[k].href;\r\n\r\n                \/\/ Update info\r\n                prevTitle.innerHTML = this.querySelector(\".single-video-title\").textContent;\r\n                prevDescription.innerHTML = this.querySelector(\".single-video-des\").textContent;\r\n\r\n                \/\/ Reset and play video\r\n                replayVideo();\r\n\r\n                this.classList.add(\"played-video\");\r\n                playedVideo.classList.add(\"slide\");\r\n\r\n                setTimeout(function(){\r\n                    playlistAnchor[k].parentNode.appendChild(playlistAnchor[k]);\r\n                }, 500);\r\n            });\r\n\r\n        }());\r\n    }\r\n\r\n}();<\/pre>\n<p>That&#8217;s It. I have put a max-height of the elements of the code section, you have to scroll to see all the codes &amp; also you can copy the codes using the buttons are given in top-right side of the element. Now you have successfully created <strong>HTML Video Player With JavaScript and CSS, Advanced Playlist Feature<\/strong> built-in. If you have any doubt or question comment down below.<\/p>\n<p><span style=\"font-family: impact, sans-serif;\">Thanks For Visiting, Keep Visting.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>How we can create an advanced video player using HTML, CSS, and JavaScript? Solution: HTML Video Player With JavaScript and CSS, Comes with Advance Playlist Feature. Before releasing HTML 5, the video only could be played on the webpage with plug-in like flash. HTML 5 comes with &lt;video&gt; element to embed videos in the webpage. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2437,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[43,42,46,41],"tags":[74,73,190,311,155,68,312,61,314,67,313],"class_list":["post-2435","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-css","category-html","category-javascript","category-web-development","tag-css-animation","tag-css-hover-effect","tag-example-and-source-code","tag-html-5-video","tag-html-and-css","tag-html-source-code","tag-html-video-element","tag-javascript-tips-and-tricks","tag-playlist","tag-source-code","tag-video-player"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>HTML Video Player With JavaScript and CSS | Advanced Playlist Feature<\/title>\n<meta name=\"description\" content=\"Want create a cool video player using HTML 5? Check out this HTML Video Player With JavaScript and CSS, Advanced Playlist Feature. Get source code now.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"HTML Video Player With JavaScript and CSS | Advanced Playlist Feature\" \/>\n<meta property=\"og:description\" content=\"Want create a cool video player using HTML 5? Check out this HTML Video Player With JavaScript and CSS, Advanced Playlist Feature. Get source code now.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/\" \/>\n<meta property=\"og:site_name\" content=\"Web Dev Trick\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/webdevtrick\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-08-08T16:03:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/webdevtrick.com\/wp-content\/uploads\/html-video-player-js-css.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"shaan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"shaan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/\"},\"author\":{\"name\":\"shaan\",\"@id\":\"https:\/\/webdevtrick.com\/#\/schema\/person\/c79bae83976f92fe305c22342b2a0be3\"},\"headline\":\"HTML Video Player With JavaScript and CSS | Advanced Playlist Feature\",\"datePublished\":\"2019-08-08T16:03:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/\"},\"wordCount\":715,\"commentCount\":10,\"publisher\":{\"@id\":\"https:\/\/webdevtrick.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webdevtrick.com\/wp-content\/uploads\/html-video-player-js-css.jpg\",\"keywords\":[\"css animation\",\"css hover effect\",\"example and source code\",\"html 5 video\",\"html and css\",\"html source code\",\"html video element\",\"javascript tips and tricks\",\"playlist\",\"source code\",\"video player\"],\"articleSection\":[\"CSS\",\"HTML\",\"JavaScript\",\"Web Development\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/\",\"url\":\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/\",\"name\":\"HTML Video Player With JavaScript and CSS | Advanced Playlist Feature\",\"isPartOf\":{\"@id\":\"https:\/\/webdevtrick.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/webdevtrick.com\/wp-content\/uploads\/html-video-player-js-css.jpg\",\"datePublished\":\"2019-08-08T16:03:22+00:00\",\"description\":\"Want create a cool video player using HTML 5? Check out this HTML Video Player With JavaScript and CSS, Advanced Playlist Feature. Get source code now.\",\"breadcrumb\":{\"@id\":\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#primaryimage\",\"url\":\"https:\/\/webdevtrick.com\/wp-content\/uploads\/html-video-player-js-css.jpg\",\"contentUrl\":\"https:\/\/webdevtrick.com\/wp-content\/uploads\/html-video-player-js-css.jpg\",\"width\":1200,\"height\":630,\"caption\":\"html video player javascript css\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/webdevtrick.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HTML Video Player With JavaScript and CSS | Advanced Playlist Feature\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/webdevtrick.com\/#website\",\"url\":\"https:\/\/webdevtrick.com\/\",\"name\":\"Web Dev Trick\",\"description\":\"HTML5, CSS3, JS, PHP Source Code &amp; Tutorial\",\"publisher\":{\"@id\":\"https:\/\/webdevtrick.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/webdevtrick.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/webdevtrick.com\/#organization\",\"name\":\"Web Dev Trick\",\"url\":\"https:\/\/webdevtrick.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webdevtrick.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/webdevtrick.com\/wp-content\/uploads\/logo-fb-1.png\",\"contentUrl\":\"https:\/\/webdevtrick.com\/wp-content\/uploads\/logo-fb-1.png\",\"width\":512,\"height\":512,\"caption\":\"Web Dev Trick\"},\"image\":{\"@id\":\"https:\/\/webdevtrick.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/webdevtrick\/\",\"https:\/\/pinterest.com\/webdevtrick\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/webdevtrick.com\/#\/schema\/person\/c79bae83976f92fe305c22342b2a0be3\",\"name\":\"shaan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/webdevtrick.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/60aa6ee93605bda7bc598d11dd748709a69bdb55a080124cc382114d8d7e7665?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/60aa6ee93605bda7bc598d11dd748709a69bdb55a080124cc382114d8d7e7665?s=96&d=mm&r=g\",\"caption\":\"shaan\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"HTML Video Player With JavaScript and CSS | Advanced Playlist Feature","description":"Want create a cool video player using HTML 5? Check out this HTML Video Player With JavaScript and CSS, Advanced Playlist Feature. Get source code now.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/","og_locale":"en_US","og_type":"article","og_title":"HTML Video Player With JavaScript and CSS | Advanced Playlist Feature","og_description":"Want create a cool video player using HTML 5? Check out this HTML Video Player With JavaScript and CSS, Advanced Playlist Feature. Get source code now.","og_url":"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/","og_site_name":"Web Dev Trick","article_publisher":"https:\/\/www.facebook.com\/webdevtrick\/","article_published_time":"2019-08-08T16:03:22+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/webdevtrick.com\/wp-content\/uploads\/html-video-player-js-css.jpg","type":"image\/jpeg"}],"author":"shaan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"shaan","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#article","isPartOf":{"@id":"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/"},"author":{"name":"shaan","@id":"https:\/\/webdevtrick.com\/#\/schema\/person\/c79bae83976f92fe305c22342b2a0be3"},"headline":"HTML Video Player With JavaScript and CSS | Advanced Playlist Feature","datePublished":"2019-08-08T16:03:22+00:00","mainEntityOfPage":{"@id":"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/"},"wordCount":715,"commentCount":10,"publisher":{"@id":"https:\/\/webdevtrick.com\/#organization"},"image":{"@id":"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#primaryimage"},"thumbnailUrl":"https:\/\/webdevtrick.com\/wp-content\/uploads\/html-video-player-js-css.jpg","keywords":["css animation","css hover effect","example and source code","html 5 video","html and css","html source code","html video element","javascript tips and tricks","playlist","source code","video player"],"articleSection":["CSS","HTML","JavaScript","Web Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/","url":"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/","name":"HTML Video Player With JavaScript and CSS | Advanced Playlist Feature","isPartOf":{"@id":"https:\/\/webdevtrick.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#primaryimage"},"image":{"@id":"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#primaryimage"},"thumbnailUrl":"https:\/\/webdevtrick.com\/wp-content\/uploads\/html-video-player-js-css.jpg","datePublished":"2019-08-08T16:03:22+00:00","description":"Want create a cool video player using HTML 5? Check out this HTML Video Player With JavaScript and CSS, Advanced Playlist Feature. Get source code now.","breadcrumb":{"@id":"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/webdevtrick.com\/html-video-player-javascript-css\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#primaryimage","url":"https:\/\/webdevtrick.com\/wp-content\/uploads\/html-video-player-js-css.jpg","contentUrl":"https:\/\/webdevtrick.com\/wp-content\/uploads\/html-video-player-js-css.jpg","width":1200,"height":630,"caption":"html video player javascript css"},{"@type":"BreadcrumbList","@id":"https:\/\/webdevtrick.com\/html-video-player-javascript-css\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/webdevtrick.com\/"},{"@type":"ListItem","position":2,"name":"HTML Video Player With JavaScript and CSS | Advanced Playlist Feature"}]},{"@type":"WebSite","@id":"https:\/\/webdevtrick.com\/#website","url":"https:\/\/webdevtrick.com\/","name":"Web Dev Trick","description":"HTML5, CSS3, JS, PHP Source Code &amp; Tutorial","publisher":{"@id":"https:\/\/webdevtrick.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/webdevtrick.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/webdevtrick.com\/#organization","name":"Web Dev Trick","url":"https:\/\/webdevtrick.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webdevtrick.com\/#\/schema\/logo\/image\/","url":"https:\/\/webdevtrick.com\/wp-content\/uploads\/logo-fb-1.png","contentUrl":"https:\/\/webdevtrick.com\/wp-content\/uploads\/logo-fb-1.png","width":512,"height":512,"caption":"Web Dev Trick"},"image":{"@id":"https:\/\/webdevtrick.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/webdevtrick\/","https:\/\/pinterest.com\/webdevtrick\/"]},{"@type":"Person","@id":"https:\/\/webdevtrick.com\/#\/schema\/person\/c79bae83976f92fe305c22342b2a0be3","name":"shaan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/webdevtrick.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/60aa6ee93605bda7bc598d11dd748709a69bdb55a080124cc382114d8d7e7665?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/60aa6ee93605bda7bc598d11dd748709a69bdb55a080124cc382114d8d7e7665?s=96&d=mm&r=g","caption":"shaan"}}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/webdevtrick.com\/wp-json\/wp\/v2\/posts\/2435","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/webdevtrick.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/webdevtrick.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/webdevtrick.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/webdevtrick.com\/wp-json\/wp\/v2\/comments?post=2435"}],"version-history":[{"count":12,"href":"https:\/\/webdevtrick.com\/wp-json\/wp\/v2\/posts\/2435\/revisions"}],"predecessor-version":[{"id":2449,"href":"https:\/\/webdevtrick.com\/wp-json\/wp\/v2\/posts\/2435\/revisions\/2449"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/webdevtrick.com\/wp-json\/wp\/v2\/media\/2437"}],"wp:attachment":[{"href":"https:\/\/webdevtrick.com\/wp-json\/wp\/v2\/media?parent=2435"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/webdevtrick.com\/wp-json\/wp\/v2\/categories?post=2435"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/webdevtrick.com\/wp-json\/wp\/v2\/tags?post=2435"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}