UNPKG

@abraham_0101/platzimediaplayer

Version:

60 lines (48 loc) 973 B
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() } muted() { this.media.muted = true } unmuted() { if (this.media.muted) { this.media.muted = false } else { this.media.muted = true } } togglePlay() { if (this.media.paused) { this.media.play() } else { this.media.pause() } } } export default MediaPlayer