Siendo ReactJS una tecnología con apenas 5 años de haber lanzado en el mercado, ha pegado con fuerza y ha gustado mucho. En lo personal me gusta mucho más que angular, ya que a pesar de que hacer desarrollo de interfaces no es mi cosa favorita ReactJS lo hace bastante simple y fácil de entender.

En este post muestro de manera sencilla cómo podemos reproducir todo tipo de archivos de video, incluyendo:

  • URLs en general
  • Archivos Locales
  • YouTube
  • Facebook
  • Twitch
  • SoundCloud
  • Streamable
  • Vimeo
  • Wistia
  • DailyMotion

Para ello vamos a usar un componente muy completo llamado ReactPlayer el cual nos permite integrar a todos estos servicios de forma sencilla.

Para ello lo primero que tenemos que hacer es instalar la dependencia en nuestro proyecto de esta forma:

NPM

npm install react-player --save

YARN

yarn add react-player

Una vez instalada la dependencia procedemos a utilizar el componente importandolo en el archivo que queremos.

import React, { Component } from 'react'
import ReactPlayer from 'react-player'

Y para usar el componente ponemos esto dentro del método render() de su componente principal, o el componente que ustedes están creando:

class App extends Component {
  render() {
    return (
      <div>
        <ReactPlayer
          url='https://www.youtube.com/watch?v=rnwlWn603g4'
          className='react-player'
          playing
          width='100%'
          height='100%'
        />
      </div>
    );
  }
}

Dentro de las propiedades que podemos configurar estan:

 

propiedad descripción default
url La url de el video o canción que queremos usar
playing Boolean que controla si reproducir o no el recurso multimedia false
loop Boolean que controla si reproducir en ciclo o no false
controls Boolean para mostrar o no los controles del reprodcuctor
?  Vimeo, Twitch y Wistia Siempre los mostrarán
false
volume Decimal entre 0 y 1 que controla el volumen del reproductor
?  null usa un volumen default
null
muted Silencia el reproductor
?  Solo funciona si el reproductor tiene volumen
false
playbackRate La velocidad en la que se reproduce el recurso multimedia
?  Solo para: YouTube, Wistia, Y archivos locales
1
width El ancho del reproductor 640px
height El alto del reproductor 360px
style Agrega estilos personalizados al reproductor {}
progressInterval El tiempo marcado por onProgress, en milisegundos 1000
playsinline Aplica el atributo playsinline donde sea soportado.

playsinline sirve para evitar que sea reproducido en pantalla completa

false
wrapper elemento o componente que se usará para envolver el reproductor div
config Objeto que sobre escribe todas las propiedades default.

Y así, sin mucho esfuerzo tienen un reproductor que es capaz de reproducir casi cualquier cosa que le pongan 🙂

Disfruten!

Tagged in:

, ,