angular-dashjs-player
Version:
An Angular 6 module to make Dash.js integration in Angular really easy
99 lines (98 loc) • 5.63 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Component, ElementRef, Input, ViewChild } from '@angular/core';
import { MediaPlayer } from 'dashjs';
var DashjsPlayerComponent = /** @class */ (function () {
function DashjsPlayerComponent() {
this.autoload = true;
}
Object.defineProperty(DashjsPlayerComponent.prototype, "src", {
set: /**
* @param {?} value
* @return {?}
*/
function (value) {
this._src = value;
if (this.player && this.player.isPaused()) {
this.play();
}
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
DashjsPlayerComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
this.player = MediaPlayer().create();
this.player.initialize(this.videoPlayer.nativeElement, this._src, this.autoload);
};
/**
* @return {?}
*/
DashjsPlayerComponent.prototype.ngOnDestroy = /**
* @return {?}
*/
function () {
this.player.reset();
};
/**
* @return {?}
*/
DashjsPlayerComponent.prototype.getPlayer = /**
* @return {?}
*/
function () {
return this.player;
};
/**
* @return {?}
*/
DashjsPlayerComponent.prototype.play = /**
* @return {?}
*/
function () {
this.player.play();
};
/**
* @return {?}
*/
DashjsPlayerComponent.prototype.pause = /**
* @return {?}
*/
function () {
this.player.pause();
};
DashjsPlayerComponent.decorators = [
{ type: Component, args: [{
selector: 'dashjs-player',
template: "<video #videoPlayer controls></video>\n",
styles: ["video{width:100%;height:100%}"]
},] },
];
/** @nocollapse */
DashjsPlayerComponent.ctorParameters = function () { return []; };
DashjsPlayerComponent.propDecorators = {
videoPlayer: [{ type: ViewChild, args: ['videoPlayer',] }],
autoload: [{ type: Input }],
src: [{ type: Input }]
};
return DashjsPlayerComponent;
}());
export { DashjsPlayerComponent };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGFzaGpzLXBsYXllci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFyLWRhc2hqcy1wbGF5ZXIvIiwic291cmNlcyI6WyJsaWIvZGFzaGpzLXBsYXllci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBcUIsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxXQUFXLEVBQW1CLE1BQU0sUUFBUSxDQUFDOztJQXFCbkQ7d0JBUjZCLElBQUk7S0FRaEI7SUFQakIsc0JBQWEsc0NBQUc7Ozs7O1FBQWhCLFVBQWlCLEtBQWE7WUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7WUFDbEIsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2FBQ2I7U0FDRjs7O09BQUE7Ozs7SUFJRCx3Q0FBUTs7O0lBQVI7UUFDRSxJQUFJLENBQUMsTUFBTSxHQUFHLFdBQVcsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0tBQ2xGOzs7O0lBRUQsMkNBQVc7OztJQUFYO1FBQ0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztLQUNyQjs7OztJQUVNLHlDQUFTOzs7O1FBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7Ozs7O0lBR2Qsb0NBQUk7Ozs7UUFDVCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDOzs7OztJQUdkLHFDQUFLOzs7O1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQzs7O2dCQXZDdkIsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxlQUFlO29CQUN6QixRQUFRLEVBQUUseUNBQ1g7b0JBQ0MsTUFBTSxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzFDOzs7Ozs4QkFLRSxTQUFTLFNBQUMsYUFBYTsyQkFDdkIsS0FBSztzQkFDTCxLQUFLOztnQ0FmUjs7U0FTYSxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNZWRpYVBsYXllciwgTWVkaWFQbGF5ZXJDbGFzc30gZnJvbSAnZGFzaGpzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGFzaGpzLXBsYXllcicsXG4gIHRlbXBsYXRlOiBgPHZpZGVvICN2aWRlb1BsYXllciBjb250cm9scz48L3ZpZGVvPlxuYCxcbiAgc3R5bGVzOiBbYHZpZGVve3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9YF1cbn0pXG5leHBvcnQgY2xhc3MgRGFzaGpzUGxheWVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwdWJsaWMgcGxheWVyOiBNZWRpYVBsYXllckNsYXNzO1xuICBwcml2YXRlIF9zcmM6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCd2aWRlb1BsYXllcicpIHZpZGVvUGxheWVyOiBFbGVtZW50UmVmO1xuICBASW5wdXQoKSBhdXRvbG9hZDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNldCBzcmModmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3NyYyA9IHZhbHVlO1xuICAgIGlmICh0aGlzLnBsYXllciAmJiB0aGlzLnBsYXllci5pc1BhdXNlZCgpKSB7XG4gICAgICB0aGlzLnBsYXkoKTtcbiAgICB9XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucGxheWVyID0gTWVkaWFQbGF5ZXIoKS5jcmVhdGUoKTtcbiAgICB0aGlzLnBsYXllci5pbml0aWFsaXplKHRoaXMudmlkZW9QbGF5ZXIubmF0aXZlRWxlbWVudCwgdGhpcy5fc3JjLCB0aGlzLmF1dG9sb2FkKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMucGxheWVyLnJlc2V0KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0UGxheWVyKCk6IE1lZGlhUGxheWVyQ2xhc3Mge1xuICAgIHJldHVybiB0aGlzLnBsYXllcjtcbiAgfVxuXG4gIHB1YmxpYyBwbGF5KCk6IHZvaWQge1xuICAgIHRoaXMucGxheWVyLnBsYXkoKTtcbiAgfVxuXG4gIHB1YmxpYyBwYXVzZSgpOiB2b2lkIHtcbiAgICB0aGlzLnBsYXllci5wYXVzZSgpO1xuICB9XG5cbn1cbiJdfQ==