UNPKG

@ashetm/ng-mediastream

Version:

``@ashetm/ng-mediastream`` is a library that simplify manipulation of API ``MediaStream``.

32 lines 4.35 kB
import { Inject, Injectable } from '@angular/core'; import { combineLatest } from 'rxjs'; import { map } from 'rxjs/operators'; import { AMediastreamCameraService } from './mediastream-camera-service.class'; import { MEDIASTREAM_TOKEN_CAMERA_CONSTRAINTS } from './mediastream.token'; import * as i0 from "@angular/core"; export class MediastreamCameraService extends AMediastreamCameraService { constructor(__mediastreamCameraConstraints) { super(__mediastreamCameraConstraints); this.__mediastreamCameraConstraints = __mediastreamCameraConstraints; this.mediastream$ = combineLatest([ this._toggleMediaStreamSubject.asObservable(), this._userMedia$ ]).pipe(map(([toggleCamera, media]) => { media.getAudioTracks() .map((track) => { track.enabled = toggleCamera; return track; }); return media; })); } static { this.ɵfac = function MediastreamCameraService_Factory(t) { return new (t || MediastreamCameraService)(i0.ɵɵinject(MEDIASTREAM_TOKEN_CAMERA_CONSTRAINTS)); }; } static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MediastreamCameraService, factory: MediastreamCameraService.ɵfac }); } } (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MediastreamCameraService, [{ type: Injectable }], function () { return [{ type: undefined, decorators: [{ type: Inject, args: [MEDIASTREAM_TOKEN_CAMERA_CONSTRAINTS] }] }]; }, null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWFzdHJlYW0tY2FtZXJhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tZWRpYXN0cmVhbS9zcmMvbGliL21lZGlhc3RyZWFtLWNhbWVyYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJDLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQUkzRSxNQUFNLE9BQU8sd0JBQXlCLFNBQVEseUJBQXlCO0lBaUJyRSxZQUVxQiw4QkFBbUM7UUFFdEQsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFGbkIsbUNBQThCLEdBQTlCLDhCQUE4QixDQUFLO1FBakIvQyxpQkFBWSxHQUNqQixhQUFhLENBQUM7WUFDZCxJQUFJLENBQUMseUJBQXlCLENBQUMsWUFBWSxFQUFFO1lBQzdDLElBQUksQ0FBQyxXQUFXO1NBQ2pCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUF5QixFQUFFLEVBQUU7WUFDNUQsS0FBSyxDQUFDLGNBQWMsRUFBRTtpQkFDbkIsR0FBRyxDQUFDLENBQUMsS0FBdUIsRUFBRSxFQUFFO2dCQUMvQixLQUFLLENBQUMsT0FBTyxHQUFHLFlBQVksQ0FBQztnQkFFN0IsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztZQUVMLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQU9OLENBQUM7eUZBdEJVLHdCQUF3QixjQWtCekIsb0NBQW9DO3VFQWxCbkMsd0JBQXdCLFdBQXhCLHdCQUF3Qjs7dUZBQXhCLHdCQUF3QjtjQURwQyxVQUFVOztzQkFtQk4sTUFBTTt1QkFBQyxvQ0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgQU1lZGlhc3RyZWFtQ2FtZXJhU2VydmljZSB9IGZyb20gJy4vbWVkaWFzdHJlYW0tY2FtZXJhLXNlcnZpY2UuY2xhc3MnO1xuaW1wb3J0IHsgTUVESUFTVFJFQU1fVE9LRU5fQ0FNRVJBX0NPTlNUUkFJTlRTIH0gZnJvbSAnLi9tZWRpYXN0cmVhbS50b2tlbic7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE1lZGlhc3RyZWFtQ2FtZXJhU2VydmljZSBleHRlbmRzIEFNZWRpYXN0cmVhbUNhbWVyYVNlcnZpY2Uge1xuXG4gIHJlYWRvbmx5IG1lZGlhc3RyZWFtJDogT2JzZXJ2YWJsZTxNZWRpYVN0cmVhbT5cbiAgICA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdGhpcy5fdG9nZ2xlTWVkaWFTdHJlYW1TdWJqZWN0LmFzT2JzZXJ2YWJsZSgpLFxuICAgICAgdGhpcy5fdXNlck1lZGlhJFxuICAgIF0pLnBpcGUobWFwKChbdG9nZ2xlQ2FtZXJhLCBtZWRpYV06IFtib29sZWFuLCBNZWRpYVN0cmVhbV0pID0+IHtcbiAgICAgIG1lZGlhLmdldEF1ZGlvVHJhY2tzKClcbiAgICAgICAgLm1hcCgodHJhY2s6IE1lZGlhU3RyZWFtVHJhY2spID0+IHtcbiAgICAgICAgICB0cmFjay5lbmFibGVkID0gdG9nZ2xlQ2FtZXJhO1xuXG4gICAgICAgICAgcmV0dXJuIHRyYWNrO1xuICAgICAgICB9KTtcblxuICAgICAgcmV0dXJuIG1lZGlhO1xuICAgIH0pKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1FRElBU1RSRUFNX1RPS0VOX0NBTUVSQV9DT05TVFJBSU5UUylcbiAgICAgIHByaXZhdGUgcmVhZG9ubHkgX19tZWRpYXN0cmVhbUNhbWVyYUNvbnN0cmFpbnRzOiBhbnlcbiAgKSB7XG4gICAgc3VwZXIoX19tZWRpYXN0cmVhbUNhbWVyYUNvbnN0cmFpbnRzKTtcbiAgfVxuXG59XG4iXX0=