UNPKG

angular-dashjs-player

Version:

An Angular 6 module to make Dash.js integration in Angular really easy

79 lines (78 loc) 4.79 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Component, ElementRef, Input, ViewChild } from '@angular/core'; import { MediaPlayer } from 'dashjs'; export class DashjsPlayerComponent { constructor() { this.autoload = true; } /** * @param {?} value * @return {?} */ set src(value) { this._src = value; if (this.player && this.player.isPaused()) { this.play(); } } /** * @return {?} */ ngOnInit() { this.player = MediaPlayer().create(); this.player.initialize(this.videoPlayer.nativeElement, this._src, this.autoload); } /** * @return {?} */ ngOnDestroy() { this.player.reset(); } /** * @return {?} */ getPlayer() { return this.player; } /** * @return {?} */ play() { this.player.play(); } /** * @return {?} */ pause() { this.player.pause(); } } DashjsPlayerComponent.decorators = [ { type: Component, args: [{ selector: 'dashjs-player', template: `<video #videoPlayer controls></video> `, styles: [`video{width:100%;height:100%}`] },] }, ]; /** @nocollapse */ DashjsPlayerComponent.ctorParameters = () => []; DashjsPlayerComponent.propDecorators = { videoPlayer: [{ type: ViewChild, args: ['videoPlayer',] }], autoload: [{ type: Input }], src: [{ type: Input }] }; function DashjsPlayerComponent_tsickle_Closure_declarations() { /** @type {?} */ DashjsPlayerComponent.prototype.player; /** @type {?} */ DashjsPlayerComponent.prototype._src; /** @type {?} */ DashjsPlayerComponent.prototype.videoPlayer; /** @type {?} */ DashjsPlayerComponent.prototype.autoload; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGpzLXBsYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWRhc2hqcy1wbGF5ZXIvIiwic291cmNlcyI6WyJsaWIvZGFzaGpzLXBsYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxXQUFXLEVBQW1CLE1BQU0sUUFBUSxDQUFDO0FBUXJELE1BQU07SUFhSjt3QkFSNkIsSUFBSTtLQVFoQjs7Ozs7SUFQakIsSUFBYSxHQUFHLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztRQUNsQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0tBQ0Y7Ozs7SUFJRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUNsRjs7OztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0tBQ3JCOzs7O0lBRU0sU0FBUztRQUNkLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDOzs7OztJQUdkLElBQUk7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDOzs7OztJQUdkLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDOzs7O1lBdkN2QixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRTtDQUNYO2dCQUNDLE1BQU0sRUFBRSxDQUFDLCtCQUErQixDQUFDO2FBQzFDOzs7OzswQkFLRSxTQUFTLFNBQUMsYUFBYTt1QkFDdkIsS0FBSztrQkFDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWVkaWFQbGF5ZXIsIE1lZGlhUGxheWVyQ2xhc3N9IGZyb20gJ2Rhc2hqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Rhc2hqcy1wbGF5ZXInLFxuICB0ZW1wbGF0ZTogYDx2aWRlbyAjdmlkZW9QbGF5ZXIgY29udHJvbHM+PC92aWRlbz5cbmAsXG4gIHN0eWxlczogW2B2aWRlb3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlfWBdXG59KVxuZXhwb3J0IGNsYXNzIERhc2hqc1BsYXllckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHVibGljIHBsYXllcjogTWVkaWFQbGF5ZXJDbGFzcztcbiAgcHJpdmF0ZSBfc3JjOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgndmlkZW9QbGF5ZXInKSB2aWRlb1BsYXllcjogRWxlbWVudFJlZjtcbiAgQElucHV0KCkgYXV0b2xvYWQ6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBzZXQgc3JjKHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLl9zcmMgPSB2YWx1ZTtcbiAgICBpZiAodGhpcy5wbGF5ZXIgJiYgdGhpcy5wbGF5ZXIuaXNQYXVzZWQoKSkge1xuICAgICAgdGhpcy5wbGF5KCk7XG4gICAgfVxuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnBsYXllciA9IE1lZGlhUGxheWVyKCkuY3JlYXRlKCk7XG4gICAgdGhpcy5wbGF5ZXIuaW5pdGlhbGl6ZSh0aGlzLnZpZGVvUGxheWVyLm5hdGl2ZUVsZW1lbnQsIHRoaXMuX3NyYywgdGhpcy5hdXRvbG9hZCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLnBsYXllci5yZXNldCgpO1xuICB9XG5cbiAgcHVibGljIGdldFBsYXllcigpOiBNZWRpYVBsYXllckNsYXNzIHtcbiAgICByZXR1cm4gdGhpcy5wbGF5ZXI7XG4gIH1cblxuICBwdWJsaWMgcGxheSgpOiB2b2lkIHtcbiAgICB0aGlzLnBsYXllci5wbGF5KCk7XG4gIH1cblxuICBwdWJsaWMgcGF1c2UoKTogdm9pZCB7XG4gICAgdGhpcy5wbGF5ZXIucGF1c2UoKTtcbiAgfVxuXG59XG4iXX0=