No me funciona el autoplay, por que puede ser? AutoPlay.js <code>function AutoPlay(){ } AutoPlay.prototype.run = function(player){ ...

Pregunta de la clase:
El primer plugin
Cayo Legal

Cayo Legal

Pregunta
studenthace 3 años

No me funciona el autoplay, por que puede ser?

AutoPlay.js

function AutoPlay(){ } AutoPlay.prototype.run = function(player){ player.mute() player.play() } export default AutoPlay

MediaPlayer.js

//basicamente con los plugins, estamos diciendole que es opcional, porque si nos pasan plugins pues bien, tendremos //plugins, si no nos pasan ningun plugin y omiten el envio, pues this.plugins será un array vacío function MediaPlayer(config) { this.media = config.el; this.plugins = config.plugins || [] this._initplugins } //método prototipo para inicializar los plugins MediaPlayer.prototype._initplugins = function(){ this._initplugins.forEach( plugin => { plugin.run(this) }) } //lo que hacemos aquí, básicamente es que en la funcion madre, estamos declarando que el parámetro del objeto que se pase en las instancias se guardará en el atributo media, y en este caso estamos instanciando con la etiqueta video de HTML que tiene consigo un método o una API para reproducir los vídeos que es el método play, //la etiqueta video tiene varios metodos o atributos consigo para controlar el video pasado por HTML MediaPlayer.prototype.play = function(){ this.media.play() } //lo mismo que play pero solo que lo pausa MediaPlayer.prototype.pause = function() { this.media.pause() } //aquí hacemos una funcion que preguntamos si el video esta pausado, que ejecute el método play, si no esta //pausado, que lo pause MediaPlayer.prototype.togglePlay = function() { if(this.media.paused) { this.media.play() } else { this.media.pause() } } MediaPlayer.prototype.mute = function(){ this.media.muted = true } MediaPlayer.prototype.unmute = function() { this.media.muted = false } MediaPlayer.prototype.toggleMute = function() { if(this.media.muted) { this.media.unmute() } else { this.media.mute() } } export default MediaPlayer;

index.js

import MediaPlayer from "./MediaPlayer.js" import AutoPlay from "./plugins/AutoPlay.js" const video = document.querySelector('video') const boton = document.querySelector('button') const boton_muted = document.querySelector('#mute-unmute') //instanciamos el objeto const player = new MediaPlayer({el: video, plugins: [ new AutoPlay() ]}) //cuando se de click en el video, ejecutaremos la función que alterna entre play y pause boton.onclick = () => player.togglePlay() //boton_muted.onclick = () => player.toggleMute() boton_muted.onclick = () => { player.media.muted ? player.unmute() : player.mute() }
No hay respuestas
para escribir tu comentario
Curso Profesional de JavaScript

Curso Profesional de JavaScript

Mejora tus habilidades en Javascript. Conoce Typescript y cómo puedes ocuparlo para mejorar el control de tus variables. Comprende conceptos avanzados que te permitan plantear mejores soluciones en tu código. Conoce las APIs del DOM y descubre cómo puedes organizar mejor tu código utilizando patrones de diseño.

Curso Profesional de JavaScript

Curso Profesional de JavaScript

Mejora tus habilidades en Javascript. Conoce Typescript y cómo puedes ocuparlo para mejorar el control de tus variables. Comprende conceptos avanzados que te permitan plantear mejores soluciones en tu código. Conoce las APIs del DOM y descubre cómo puedes organizar mejor tu código utilizando patrones de diseño.