UNPKG

@ashetm/ng-mediastream

Version:

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

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