UNPKG

@ashetm/ng-mediastream

Version:

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

28 lines 4.04 kB
import { combineLatest, from } from "rxjs"; import { switchMap } from "rxjs/operators"; import { AMediastreamService } from "./mediastream-service.class"; export class AMediastreamMicrophoneService extends AMediastreamService { constructor() { super(...arguments); this._userMedia$ = combineLatest([ this._currentMediaDeviceSubject$ ]).pipe(switchMap(([device]) => from(this.MEDIA_DEVICES.getUserMedia({ audio: this._buildMediaConstraints(device), video: false })))); } disableMicrophone() { this._toggleMediaStreamSubject.next(false); } enableMicrophone() { this._toggleMediaStreamSubject.next(true); } toggleMicrophone() { const value = this._toggleMediaStreamSubject.getValue(); this._toggleMediaStreamSubject.next(!value); } updateMicrophoneDevice(device) { this._currentMediaDeviceSubject$.next(device); } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaWFzdHJlYW0tbWljcm9waG9uZS1zZXJ2aWNlLmNsYXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWVkaWFzdHJlYW0vc3JjL2xpYi9tZWRpYXN0cmVhbS1taWNyb3Bob25lLXNlcnZpY2UuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRzNDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR2xFLE1BQU0sT0FBZ0IsNkJBQ3BCLFNBQVEsbUJBQW1CO0lBRDdCOztRQUlxQixnQkFBVyxHQUMxQixhQUFhLENBQUM7WUFDZCxJQUFJLENBQUMsMkJBQTJCO1NBQ2pDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQW9CLEVBQUUsRUFBRSxDQUNoRCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDbkMsS0FBSyxFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUM7WUFDMUMsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFzQlosQ0FBQztJQXBCQyxpQkFBaUI7UUFDZixJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxNQUFNLEtBQUssR0FBWSxJQUFJLENBQUMseUJBQXlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakUsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxzQkFBc0IsQ0FDcEIsTUFBc0Q7UUFFdEQsSUFBSSxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRCxDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBmcm9tLCBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuXG5pbXBvcnQgeyBJTWVkaWFzdHJlYW1NaWNyb3Bob25lU2VydmljZSB9IGZyb20gXCIuL21lZGlhc3RyZWFtLW1pY3JvcGhvbmUtc2VydmljZS5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEFNZWRpYXN0cmVhbVNlcnZpY2UgfSBmcm9tIFwiLi9tZWRpYXN0cmVhbS1zZXJ2aWNlLmNsYXNzXCI7XG5cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFNZWRpYXN0cmVhbU1pY3JvcGhvbmVTZXJ2aWNlXG4gIGV4dGVuZHMgQU1lZGlhc3RyZWFtU2VydmljZVxuICBpbXBsZW1lbnRzIElNZWRpYXN0cmVhbU1pY3JvcGhvbmVTZXJ2aWNlIHtcblxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX3VzZXJNZWRpYSQ6IE9ic2VydmFibGU8TWVkaWFTdHJlYW0+XG4gICAgPSBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHRoaXMuX2N1cnJlbnRNZWRpYURldmljZVN1YmplY3QkXG4gICAgXSkucGlwZShzd2l0Y2hNYXAoKFtkZXZpY2VdOiBbTWVkaWFEZXZpY2VJbmZvXSkgPT5cbiAgICAgIGZyb20odGhpcy5NRURJQV9ERVZJQ0VTLmdldFVzZXJNZWRpYSh7XG4gICAgICAgIGF1ZGlvOiB0aGlzLl9idWlsZE1lZGlhQ29uc3RyYWludHMoZGV2aWNlKSxcbiAgICAgICAgdmlkZW86IGZhbHNlXG4gICAgICB9KSkpKTtcblxuICBkaXNhYmxlTWljcm9waG9uZSgpOiB2b2lkIHtcbiAgICB0aGlzLl90b2dnbGVNZWRpYVN0cmVhbVN1YmplY3QubmV4dChmYWxzZSk7XG4gIH1cblxuICBlbmFibGVNaWNyb3Bob25lKCk6IHZvaWQge1xuICAgIHRoaXMuX3RvZ2dsZU1lZGlhU3RyZWFtU3ViamVjdC5uZXh0KHRydWUpO1xuICB9XG5cbiAgdG9nZ2xlTWljcm9waG9uZSgpOiB2b2lkIHtcbiAgICBjb25zdCB2YWx1ZTogYm9vbGVhbiA9IHRoaXMuX3RvZ2dsZU1lZGlhU3RyZWFtU3ViamVjdC5nZXRWYWx1ZSgpO1xuXG4gICAgdGhpcy5fdG9nZ2xlTWVkaWFTdHJlYW1TdWJqZWN0Lm5leHQoIXZhbHVlKTtcbiAgfVxuXG4gIHVwZGF0ZU1pY3JvcGhvbmVEZXZpY2UoXG4gICAgZGV2aWNlOiBNZWRpYURldmljZUluZm8gJiBSZWNvcmQ8J2tpbmQnLCAnYXVkaW9pbnB1dCc+XG4gICk6IHZvaWQge1xuICAgIHRoaXMuX2N1cnJlbnRNZWRpYURldmljZVN1YmplY3QkLm5leHQoZGV2aWNlKTtcbiAgfVxuXG59XG4iXX0=