@plupyt/mediaplayer
Version:
Reproductor de video
52 lines (42 loc) • 881 B
text/typescript
class MediaPlayer {
media: HTMLMediaElement
plugins: Array<any>
container: HTMLElement
constructor(config) {
this.media = config.el;
this.plugins = config.plugins || [];
this.initPlayer()
this.initPlugins()
}
initPlayer() {
this.container = document.createElement('div')
this.container.style.position = 'relative'
this.media.parentNode.insertBefore(this.container, this.media)
this.container.appendChild(this.media)
}
private initPlugins() {
this.plugins.forEach(plugin => {
plugin.run(this);
});
}
play() {
this.media.play();
}
pause() {
this.media.pause();
}
togglePlay() {
if (this.media.paused) {
this.play();
} else {
this.pause();
}
}
mute() {
this.media.muted = true;
}
unmute() {
this.media.muted = false;
}
}
export default MediaPlayer;