1.2.3 • Published 5 years ago

react-vp v1.2.3

Weekly downloads
4
License
MIT
Repository
github
Last release
5 years ago

React-Video-Player

npm version

A React component for easily playing videos on mobile and desktop devices. Comes with video controls and customization for audio slider and video seekbar to match the theme of your website.

Requirements

  1. React and React-dom 16.5.2 or greater

Usage

npm install react-vp --save
import React, { Component } from 'react'
import ReactVideoPlayer from 'react-vp'

class App extends Component {
  render () {
    return <ReactVideoPlayer 
              className={'video-container'}
              mobileClassName={'video-container-mobile'}
              videoPath='assets/videos/video.mp4'
              videoThumbnail='assets/videos/thumbnail.png'
              isMobile={this.props.config.isMobile}
              colors={{
                audioThumb: 'rgb(0, 125, 255)',
                audioSlider: '#ccc',
                videoThumb: 'rgb(0, 125, 255)',
                seekbarPlayed: 'rgb(0, 125, 255)',
                seekbarProgress: '#ccc',
                seekbarBackground: 'rgb(58, 61, 80)'
              }}
              />
  }
}

Demo page: https://mellocloud.com/react-video-player

Props

PropDescriptionRequired
classNameCss class for the video container, this will be applied to the desktop version of the video player.no
mobileClassNameCss class for the video container, this will be applied to the mobile version of the video player.no
videoPathPath to the video you want to play.yes
videoThumbnailPath to the video thumbnail.yes
isMobileThis is a bool, how you determine if the user is on desktop or mobile is up to you or you can put false if its only for desktop.yes
colorsThis is an object with colors so you can customize your video player to match your theme. By default its blue and grayishno

What I Learned

  1. To get the offset from a component to the left of the page you can use
let offset = seekbar.getBoundingClientRect().left //used to move the seekbar thumb.
  1. CSS modules, how to hash CSS classnames so that they don't interfere with existing CSS classes when bringing this into your project.

  2. npm link, how to test npm packages before releasing them.

  3. Last but not least I learned a ton about videos on the web including Media Events, Fullscreen API, and Media Source Extensions. If you are interested in learning more about video players here is a great tutorial series from Google chrome developers youtube channel https://www.youtube.com/watch?v=--KA2VrPDao&t=8s