UNPKG

angular-dashjs-player

Version:

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

112 lines (105 loc) 6.4 kB
import { Injectable, Component, Input, ViewChild, NgModule, defineInjectable } from '@angular/core'; import { MediaPlayer } from 'dashjs'; /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ class DashjsPlayerService { constructor() { } } DashjsPlayerService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] }, ]; /** @nocollapse */ DashjsPlayerService.ctorParameters = () => []; /** @nocollapse */ DashjsPlayerService.ngInjectableDef = defineInjectable({ factory: function DashjsPlayerService_Factory() { return new DashjsPlayerService(); }, token: DashjsPlayerService, providedIn: "root" }); /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ 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 }] }; /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ class DashjsPlayerModule { } DashjsPlayerModule.decorators = [ { type: NgModule, args: [{ imports: [], declarations: [DashjsPlayerComponent], exports: [DashjsPlayerComponent] },] }, ]; /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ export { DashjsPlayerService, DashjsPlayerComponent, DashjsPlayerModule }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1kYXNoanMtcGxheWVyLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9hbmd1bGFyLWRhc2hqcy1wbGF5ZXIvbGliL2Rhc2hqcy1wbGF5ZXIuc2VydmljZS50cyIsIm5nOi8vYW5ndWxhci1kYXNoanMtcGxheWVyL2xpYi9kYXNoanMtcGxheWVyLmNvbXBvbmVudC50cyIsIm5nOi8vYW5ndWxhci1kYXNoanMtcGxheWVyL2xpYi9kYXNoanMtcGxheWVyLm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERhc2hqc1BsYXllclNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG59XG4iLCJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNZWRpYVBsYXllciwgTWVkaWFQbGF5ZXJDbGFzc30gZnJvbSAnZGFzaGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGFzaGpzLXBsYXllcicsXG4gIHRlbXBsYXRlOiBgPHZpZGVvICN2aWRlb1BsYXllciBjb250cm9scz48L3ZpZGVvPlxuYCxcbiAgc3R5bGVzOiBbYHZpZGVve3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9YF1cbn0pXG5leHBvcnQgY2xhc3MgRGFzaGpzUGxheWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcGxheWVyOiBNZWRpYVBsYXllckNsYXNzO1xuICBwcml2YXRlIF9zcmM6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCd2aWRlb1BsYXllcicpIHZpZGVvUGxheWVyOiBFbGVtZW50UmVmO1xuICBASW5wdXQoKSBhdXRvbG9hZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNldCBzcmModmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NyYyA9IHZhbHVlO1xuICAgIGlmICh0aGlzLnBsYXllciAmJiB0aGlzLnBsYXllci5pc1BhdXNlZCgpKSB7XG4gICAgICB0aGlzLnBsYXkoKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucGxheWVyID0gTWVkaWFQbGF5ZXIoKS5jcmVhdGUoKTtcbiAgICB0aGlzLnBsYXllci5pbml0aWFsaXplKHRoaXMudmlkZW9QbGF5ZXIubmF0aXZlRWxlbWVudCwgdGhpcy5fc3JjLCB0aGlzLmF1dG9sb2FkKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucGxheWVyLnJlc2V0KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UGxheWVyKCk6IE1lZGlhUGxheWVyQ2xhc3Mge1xuICAgIHJldHVybiB0aGlzLnBsYXllcjtcbiAgfVxuXG4gIHB1YmxpYyBwbGF5KCk6IHZvaWQge1xuICAgIHRoaXMucGxheWVyLnBsYXkoKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXVzZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBsYXllci5wYXVzZSgpO1xuICB9XG5cbn1cbiIsImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYXNoanNQbGF5ZXJDb21wb25lbnQgfSBmcm9tICcuL2Rhc2hqcy1wbGF5ZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtEYXNoanNQbGF5ZXJDb21wb25lbnRdLFxuICBleHBvcnRzOiBbRGFzaGpzUGxheWVyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBEYXNoanNQbGF5ZXJNb2R1bGUgeyB9XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBO0lBT0UsaUJBQWlCOzs7WUFMbEIsVUFBVSxTQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25COzs7Ozs7Ozs7O0FDSkQ7SUFzQkU7d0JBUjZCLElBQUk7S0FRaEI7Ozs7O0lBUGpCLElBQWEsR0FBRyxDQUFDLEtBQWE7UUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUU7WUFDekMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ2I7S0FDRjs7OztJQUlELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ2xGOzs7O0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7S0FDckI7Ozs7SUFFTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDOzs7OztJQUdkLElBQUk7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDOzs7OztJQUdkLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDOzs7O1lBdkN2QixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLFFBQVEsRUFBRTtDQUNYO2dCQUNDLE1BQU0sRUFBRSxDQUFDLCtCQUErQixDQUFDO2FBQzFDOzs7OzswQkFLRSxTQUFTLFNBQUMsYUFBYTt1QkFDdkIsS0FBSztrQkFDTCxLQUFLOzs7Ozs7O0FDZlI7OztZQUdDLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUUsRUFDUjtnQkFDRCxZQUFZLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztnQkFDckMsT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUM7YUFDakM7Ozs7Ozs7Ozs7Ozs7OzsifQ==