UNPKG

@ashetm/ng-mediastream

Version:

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

62 lines 9.36 kB
import { Injectable } from '@angular/core'; import { combineLatest } from 'rxjs'; import { map } from 'rxjs/operators'; import * as i0 from "@angular/core"; import * as i1 from "./mediastream-camera.service"; import * as i2 from "./mediastream-microphone.service"; export class MediastreamCameraMicrophoneService { get mediastreamCameraConstraints() { return this._mediastreamCameraService.mediastreamConstraints; } get mediastreamMicrophoneConstraints() { return this._mediastreamMicrophoneService.mediastreamConstraints; } constructor(_mediastreamCameraService, _mediastreamMicrophoneService) { this._mediastreamCameraService = _mediastreamCameraService; this._mediastreamMicrophoneService = _mediastreamMicrophoneService; this.currentCameraMediaDevice$ = this._mediastreamCameraService.currentMediaDevice$; this.currentMicrophoneMediaDevice$ = this._mediastreamMicrophoneService.currentMediaDevice$; this.mediastream$ = combineLatest([ this._mediastreamCameraService.mediastream$, this._mediastreamMicrophoneService.mediastream$ ]).pipe(map(([mediastreamCamera, mediastreamMicrophone]) => { const mediastreamCameraTracks = mediastreamCamera.getVideoTracks(); const mediastreamMicrophoneTracks = mediastreamMicrophone.getAudioTracks(); const mediastreamTracks = [ ...mediastreamCameraTracks, ...mediastreamMicrophoneTracks ]; return new MediaStream(mediastreamTracks); })); } disableCamera() { this._mediastreamCameraService.disableCamera(); } disableMicrophone() { this._mediastreamMicrophoneService.disableMicrophone(); } enableCamera() { this._mediastreamCameraService.enableCamera(); } enableMicrophone() { this._mediastreamMicrophoneService.enableMicrophone(); } toggleCamera() { this._mediastreamCameraService.toggleCamera(); } toggleMicrophone() { this._mediastreamMicrophoneService.toggleMicrophone(); } updateCameraDevice(device) { this._mediastreamCameraService.updateCameraDevice(device); } updateMicrophoneDevice(device) { this._mediastreamMicrophoneService.updateMicrophoneDevice(device); } static { this.ɵfac = function MediastreamCameraMicrophoneService_Factory(t) { return new (t || MediastreamCameraMicrophoneService)(i0.ɵɵinject(i1.MediastreamCameraService), i0.ɵɵinject(i2.MediastreamMicrophoneService)); }; } static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: MediastreamCameraMicrophoneService, factory: MediastreamCameraMicrophoneService.ɵfac }); } } (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MediastreamCameraMicrophoneService, [{ type: Injectable }], function () { return [{ type: i1.MediastreamCameraService }, { type: i2.MediastreamMicrophoneService }]; }, null); })(); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWFzdHJlYW0tY2FtZXJhLW1pY3JvcGhvbmUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL21lZGlhc3RyZWFtL3NyYy9saWIvbWVkaWFzdHJlYW0tY2FtZXJhLW1pY3JvcGhvbmUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBU3JDLE1BQU0sT0FBTyxrQ0FBa0M7SUF3QjdDLElBQUksNEJBQTRCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLHNCQUFzQixDQUFDO0lBQy9ELENBQUM7SUFFRCxJQUFJLGdDQUFnQztRQUNsQyxPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxzQkFBc0IsQ0FBQztJQUNuRSxDQUFDO0lBRUQsWUFDbUIseUJBQW1ELEVBQ25ELDZCQUEyRDtRQUQzRCw4QkFBeUIsR0FBekIseUJBQXlCLENBQTBCO1FBQ25ELGtDQUE2QixHQUE3Qiw2QkFBNkIsQ0FBOEI7UUEvQnJFLDhCQUF5QixHQUM5QixJQUFJLENBQUMseUJBQXlCLENBQUMsbUJBQW1CLENBQUM7UUFFOUMsa0NBQTZCLEdBQ2xDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxtQkFBbUIsQ0FBQztRQUVsRCxpQkFBWSxHQUNqQixhQUFhLENBQUM7WUFDZCxJQUFJLENBQUMseUJBQXlCLENBQUMsWUFBWTtZQUMzQyxJQUFJLENBQUMsNkJBQTZCLENBQUMsWUFBWTtTQUNoRCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUscUJBQXFCLENBQTZCLEVBQUUsRUFBRTtZQUNyRixNQUFNLHVCQUF1QixHQUF1QixpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2RixNQUFNLDJCQUEyQixHQUF1QixxQkFBcUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUMvRixNQUFNLGlCQUFpQixHQUF1QjtnQkFDNUMsR0FBRyx1QkFBdUI7Z0JBQzFCLEdBQUcsMkJBQTJCO2FBQy9CLENBQUM7WUFFRixPQUFPLElBQUksV0FBVyxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQWFGLENBQUM7SUFFTCxhQUFhO1FBQ1gsSUFBSSxDQUFDLHlCQUF5QixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ2pELENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsNkJBQTZCLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLDZCQUE2QixDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDeEQsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMseUJBQXlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3hELENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxNQUFzRDtRQUN2RSxJQUFJLENBQUMseUJBQXlCLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELHNCQUFzQixDQUFDLE1BQXNEO1FBQzNFLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRSxDQUFDO21HQW5FVSxrQ0FBa0M7dUVBQWxDLGtDQUFrQyxXQUFsQyxrQ0FBa0M7O3VGQUFsQyxrQ0FBa0M7Y0FEOUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgSU1lZGlhc3RyZWFtQ2FtZXJhU2VydmljZSB9IGZyb20gJy4vbWVkaWFzdHJlYW0tY2FtZXJhLXNlcnZpY2UuaW50ZXJmYWNlJztcbmltcG9ydCB7IE1lZGlhc3RyZWFtQ2FtZXJhU2VydmljZSB9IGZyb20gJy4vbWVkaWFzdHJlYW0tY2FtZXJhLnNlcnZpY2UnO1xuaW1wb3J0IHsgSU1lZGlhc3RyZWFtTWljcm9waG9uZVNlcnZpY2UgfSBmcm9tICcuL21lZGlhc3RyZWFtLW1pY3JvcGhvbmUtc2VydmljZS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTWVkaWFzdHJlYW1NaWNyb3Bob25lU2VydmljZSB9IGZyb20gJy4vbWVkaWFzdHJlYW0tbWljcm9waG9uZS5zZXJ2aWNlJztcblxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTWVkaWFzdHJlYW1DYW1lcmFNaWNyb3Bob25lU2VydmljZVxuICBpbXBsZW1lbnRzIElNZWRpYXN0cmVhbUNhbWVyYVNlcnZpY2UsIElNZWRpYXN0cmVhbU1pY3JvcGhvbmVTZXJ2aWNlIHtcblxuICByZWFkb25seSBjdXJyZW50Q2FtZXJhTWVkaWFEZXZpY2UkOiBPYnNlcnZhYmxlPE1lZGlhRGV2aWNlSW5mbz5cbiAgICA9IHRoaXMuX21lZGlhc3RyZWFtQ2FtZXJhU2VydmljZS5jdXJyZW50TWVkaWFEZXZpY2UkO1xuXG4gIHJlYWRvbmx5IGN1cnJlbnRNaWNyb3Bob25lTWVkaWFEZXZpY2UkOiBPYnNlcnZhYmxlPE1lZGlhRGV2aWNlSW5mbz5cbiAgICA9IHRoaXMuX21lZGlhc3RyZWFtTWljcm9waG9uZVNlcnZpY2UuY3VycmVudE1lZGlhRGV2aWNlJDtcblxuICByZWFkb25seSBtZWRpYXN0cmVhbSQ6IE9ic2VydmFibGU8TWVkaWFTdHJlYW0+XG4gICAgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuX21lZGlhc3RyZWFtQ2FtZXJhU2VydmljZS5tZWRpYXN0cmVhbSQsXG4gICAgICB0aGlzLl9tZWRpYXN0cmVhbU1pY3JvcGhvbmVTZXJ2aWNlLm1lZGlhc3RyZWFtJFxuICAgIF0pLnBpcGUobWFwKChbbWVkaWFzdHJlYW1DYW1lcmEsIG1lZGlhc3RyZWFtTWljcm9waG9uZV06IFtNZWRpYVN0cmVhbSwgTWVkaWFTdHJlYW1dKSA9PiB7XG4gICAgICBjb25zdCBtZWRpYXN0cmVhbUNhbWVyYVRyYWNrczogTWVkaWFTdHJlYW1UcmFja1tdID0gbWVkaWFzdHJlYW1DYW1lcmEuZ2V0VmlkZW9UcmFja3MoKTtcbiAgICAgIGNvbnN0IG1lZGlhc3RyZWFtTWljcm9waG9uZVRyYWNrczogTWVkaWFTdHJlYW1UcmFja1tdID0gbWVkaWFzdHJlYW1NaWNyb3Bob25lLmdldEF1ZGlvVHJhY2tzKCk7XG4gICAgICBjb25zdCBtZWRpYXN0cmVhbVRyYWNrczogTWVkaWFTdHJlYW1UcmFja1tdID0gW1xuICAgICAgICAuLi5tZWRpYXN0cmVhbUNhbWVyYVRyYWNrcyxcbiAgICAgICAgLi4ubWVkaWFzdHJlYW1NaWNyb3Bob25lVHJhY2tzXG4gICAgICBdO1xuXG4gICAgICByZXR1cm4gbmV3IE1lZGlhU3RyZWFtKG1lZGlhc3RyZWFtVHJhY2tzKTtcbiAgICB9KSk7XG5cbiAgZ2V0IG1lZGlhc3RyZWFtQ2FtZXJhQ29uc3RyYWludHMoKTogYm9vbGVhbiB8IE1lZGlhVHJhY2tDb25zdHJhaW50cyB7XG4gICAgcmV0dXJuIHRoaXMuX21lZGlhc3RyZWFtQ2FtZXJhU2VydmljZS5tZWRpYXN0cmVhbUNvbnN0cmFpbnRzO1xuICB9XG5cbiAgZ2V0IG1lZGlhc3RyZWFtTWljcm9waG9uZUNvbnN0cmFpbnRzKCk6IGJvb2xlYW4gfCBNZWRpYVRyYWNrQ29uc3RyYWludHMge1xuICAgIHJldHVybiB0aGlzLl9tZWRpYXN0cmVhbU1pY3JvcGhvbmVTZXJ2aWNlLm1lZGlhc3RyZWFtQ29uc3RyYWludHM7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXN0cmVhbUNhbWVyYVNlcnZpY2U6IE1lZGlhc3RyZWFtQ2FtZXJhU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZWRpYXN0cmVhbU1pY3JvcGhvbmVTZXJ2aWNlOiBNZWRpYXN0cmVhbU1pY3JvcGhvbmVTZXJ2aWNlXG4gICkgeyB9XG5cbiAgZGlzYWJsZUNhbWVyYSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXN0cmVhbUNhbWVyYVNlcnZpY2UuZGlzYWJsZUNhbWVyYSgpO1xuICB9XG5cbiAgZGlzYWJsZU1pY3JvcGhvbmUoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWFzdHJlYW1NaWNyb3Bob25lU2VydmljZS5kaXNhYmxlTWljcm9waG9uZSgpO1xuICB9XG5cbiAgZW5hYmxlQ2FtZXJhKCk6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhc3RyZWFtQ2FtZXJhU2VydmljZS5lbmFibGVDYW1lcmEoKTtcbiAgfVxuXG4gIGVuYWJsZU1pY3JvcGhvbmUoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWFzdHJlYW1NaWNyb3Bob25lU2VydmljZS5lbmFibGVNaWNyb3Bob25lKCk7XG4gIH1cblxuICB0b2dnbGVDYW1lcmEoKTogdm9pZCB7XG4gICAgdGhpcy5fbWVkaWFzdHJlYW1DYW1lcmFTZXJ2aWNlLnRvZ2dsZUNhbWVyYSgpO1xuICB9XG5cbiAgdG9nZ2xlTWljcm9waG9uZSgpOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXN0cmVhbU1pY3JvcGhvbmVTZXJ2aWNlLnRvZ2dsZU1pY3JvcGhvbmUoKTtcbiAgfVxuXG4gIHVwZGF0ZUNhbWVyYURldmljZShkZXZpY2U6IE1lZGlhRGV2aWNlSW5mbyAmIFJlY29yZDwna2luZCcsICd2aWRlb2lucHV0Jz4pOiB2b2lkIHtcbiAgICB0aGlzLl9tZWRpYXN0cmVhbUNhbWVyYVNlcnZpY2UudXBkYXRlQ2FtZXJhRGV2aWNlKGRldmljZSk7XG4gIH1cblxuICB1cGRhdGVNaWNyb3Bob25lRGV2aWNlKGRldmljZTogTWVkaWFEZXZpY2VJbmZvICYgUmVjb3JkPCdraW5kJywgJ2F1ZGlvaW5wdXQnPik6IHZvaWQge1xuICAgIHRoaXMuX21lZGlhc3RyZWFtTWljcm9waG9uZVNlcnZpY2UudXBkYXRlTWljcm9waG9uZURldmljZShkZXZpY2UpO1xuICB9XG5cbn1cbiJdfQ==