El player, cuenta con una completa API que permite la manipulacion del mismo mediante javascript desde front end.
Cuando se extrae un tag desde la plataforma de E-Planning video, este posee el siguiente formato:
<script async type='text/javascript' src='//hls.e-planning.video/video/js/eplvideo.js' data-video='adfeaf5b75be7e0a' data-client='1992D' data-player='VP_IDENTIFICADOR' data-div='un_test'></script>
donde:
src (en rojo) indica la ruta de la libreria de video.
data-video (en azul) indica el identificador unico del video a reproducir.
data-client (en verde) indica el id de cliente de E-Planning.
data-player (en naranja) indica el identificador unico del player a utilizar.
data-div (en rosa) indica el div donde el video sera incorporado.
Manipulacion de videos mediante la API
Para manipular un video, es condicion necesaria que el mismo se encuentre instanciado en un div con id. (En el tag de ejemplo mencionado mas arriba, el player se instanciara dentro del div con id 'un_test')
Con el metodo javascript window.eplvideo(<div_id>) se referenciara a un video instanciado. Siendo <div_id> el id del div contenedor del video. Por ejemplo:
<script> var instancia = eplvideo('un_test');</script>
Luego, sobre la referencia a un video instanciado, poseeremos los siguientes metodos aplicables:
getDiv()
Retorna una referencia al div contenedor del player.
Ejemplo: <script> var div = eplvideo('un_test').getDiv();</script>
isPaused()
Indica si el video se encuentra pausado mediante una respuesta booleana.
Ejemplo: <script> console.log(eplvideo('un_test').isPaused()?'video pausado':'video en reproduccion');</script>
pause()
Pausa el video
Ejemplo: <script> eplvideo('un_test').pause();</script>
play()
Reproduce el video
Ejemplo: <script> eplvideo('un_test').play();</script>
getDuration()
Retorna la duracion del video en segundos.
Ejemplo: <script> console.log(eplvideo('un_test').getDuration());</script>
getCurrentTime()
Retorna el momento actual de reproduccion del video en segundos.
Ejemplo: <script>console.log(eplvideo('un_test').getCurrentTime());</script>
setCurrentTime(<time>)
Coloca el video en el momento de reproduccion <time> expresado en segundos.
Ejemplo: <script> eplvideo('un_test').setCurrentTime(7);</script>
getRemainingTime()
Retorna el tiempo restante de reproduccion del video en segundos.
Ejemplo:<script>console.log(eplvideo('un_test').getRemainingTime());</script>
isEnded()
Indica si el video finalizo su reproduccion mediante una respuesta booleana.
Ejemplo: <script>console.log(eplvideo('un_test').isEnded()?'ya termino':'todavia falta');</script>
isFullscreen()
Indica si el video se encuentra en modo 'pantalla completa' mediante una respuesta booleana.
Ejemplo: <script> console.log(eplvideo('un_test').isFullscreen()?'pantalla completa':'tamaño reducido');</script>
enterFullscreen()
Coloca el video en modo 'pantalla completa'
Ejemplo: <script> eplvideo('un_test').enterFullscreen();</script>
exitFullscreen()
Quita el video del modo 'pantalla completa'
Ejemplo: <script> eplvideo('un_test').enterFullscreen();</script>
isLoop()
Indica si el video posee activo el reinicio al finalizar mediante una respuesta booleana
Ejemplo:<script> console.log(eplvideo('un_test').isLoop()?'bucle activo':'bucle inactivo');</script>
setLoop(<bool>)
Activa o desactiva el reinicio automatico al finalizar segun el valor booleano del argumento <bool> pasado.
Ejemplo: <script> veplvideo('un_test').setLoop(true);</script>
isMuted()
Indica si el video se encuentra muteado mediante una respuesta booleana.
Ejemplo: <script> console.log(eplvideo('un_test').isMuted()?'en silencio':'con sonido');</script>
setMute(<bool>)
Activa o desactiva el muteo del video segun el valor booleano del argumento <bool> pasado.
Ejemplo: <script> eplvideo('un_test').setMute(false);</script>
setWidth(<width>)
Configura el ancho del video en el valor <width> pasado como argumento en pixels.
Ejemplo: <script>eplvideo('un_test').setWidth(640);</script>
setHeight(<height>)
Configura el alto del video en el valor <height> pasado como argumento en pixels.
Ejemplo: <script>eplvideo('un_test').setHeight(480);</script>
getWidth()
Retorna el ancho del video en pixels.
Ejemplo: <script> console.log(eplvideo('un_test').getWidth());</script>
getHeight()
Rertorna el alto del video en pixels.
Ejemplo: <script> console.log(eplvideo('un_test').getHeight());</script>
Oculta el video.
Ejemplo: <script> eplvideo('un_test').hide();</script>
show()
Muestra el video.
Ejemplo: <script> eplvideo('un_test').show();</script>
on(<event>, <handler>)
Asocia la funcion pasada como argumento <handler> para ser llamada ante el evento pasado como argumento <event>.
Ejemplo: <script> eplvideo('un_test').on('ready', function(){console.log('el video esta listo')});</script>
off(<event>)
Elimina la funcion asociada para ser llamada ente el evento pasado como argumento <event>
Ejemplo: <script> eplvideo('un_test').off('ready');</script>
Instanciacion de nuevos videos
Para instanciar un nuevo video, primero se debe importar la libreria de video, indicando obligatoriamente data-client:
<script async type='text/javascript' src='//hls.e-planning.video/video/js/eplvideo.js' data-client='1992D'></script>
Es condicion necesaria antes de la instanciacion ademas, que exista un div con id donde incorporar el nuevo video:
<div id='un_ejemplo'></div>
Luego, el video se puede instanciar mediante el constructor
eplVideo(<div_id>).setup(<config>)
donde <div_id> debe corresponderse con el id del div donde se instanciara el video, y <config> con un objeto javascript que defina los atributos iniciales del video.
Los atributos de <config> a definir son:
player : identificador del player
video: identificador del video
responsive: booleano que indica si el video es responsivo.
loop: booleano que indica si el reinicio del video tras su finalizacion esta activado.
showTitle: booleano que indica si el titulo del video estara visible
autoplay: booleano que indica si el video posee la reproduccion automatica activa.
Ejemplo:
<script type='text/javascript' src='//hls.e-planning.video/video/js/eplvideo.js' data-client='1992D'></script>
<div id='un_ejemplo'></div>
eplVideo('un_test').setup({
player:'VP_IDENTIFICADOR',
video: 'adfeaf5b75be7e0a',
responsive: true,
loop: false,
showTitle: true,
autoplay: false,
});
Eventos
volumechange
Evento lanzado cuando el volumen es modificado.
seeked
Evento lanzado cuando se produce un salto en el tiempo actual de reproduccion.
ready
Evento lanzado cuando el player esta listo.
play
Evento lanzado cuando se inicia o reanuda la reproduccion de un video.
pause
Evento lanzado cuando se pausa la reproduccion de un video.
fullscreenchange
Evento lanzado cuando el estado 'pantalla completa' se activa o desactiva.
ended
Evento lanzado cuando el video finaliza.