UNPKG

ngx-webcam2

Version:

A simple Angular webcam component. Pure &amp; minimal, no Flash-fallback. <a href="https://basst314.github.io/ngx-webcam/?" target="_blank">See the Demo!</a>

25 lines 3.22 kB
import { __awaiter } from "tslib"; export class WebcamUtil { static hasVideoInputs() { const inputs = WebcamUtil.availableVideoInputs; return !!inputs.find(input => !!input.deviceId); } /** * Lists available videoInput devices * @returns a list of media device info. */ static getAvailableVideoInputs() { return __awaiter(this, void 0, void 0, function* () { if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) { throw new Error('enumerateDevices() not supported.'); } if (!this.hasVideoInputs()) { const devices = yield navigator.mediaDevices.enumerateDevices(); WebcamUtil.availableVideoInputs = devices.filter((device) => device.kind === 'videoinput'); } return WebcamUtil.availableVideoInputs; }); } } WebcamUtil.availableVideoInputs = []; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViY2FtLnV0aWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtd2ViY2FtLyIsInNvdXJjZXMiOlsic3JjL2FwcC9tb2R1bGVzL3dlYmNhbS91dGlsL3dlYmNhbS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxNQUFNLE9BQU8sVUFBVTtJQUlyQixNQUFNLENBQUMsY0FBYztRQUNuQixNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsb0JBQW9CLENBQUM7UUFDL0MsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBTyx1QkFBdUI7O1lBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRTtnQkFDdkUsTUFBTSxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO2FBQ3REO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsRUFBRTtnQkFDMUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxTQUFTLENBQUMsWUFBWSxDQUFDLGdCQUFnQixFQUFFLENBQUM7Z0JBQ2hFLFVBQVUsQ0FBQyxvQkFBb0IsR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBdUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxZQUFZLENBQUMsQ0FBQzthQUM3RztZQUVELE9BQU8sVUFBVSxDQUFDLG9CQUFvQixDQUFDO1FBQ3pDLENBQUM7S0FBQTs7QUF0QmMsK0JBQW9CLEdBQXNCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBXZWJjYW1VdGlsIHtcblxuICBwcml2YXRlIHN0YXRpYyBhdmFpbGFibGVWaWRlb0lucHV0czogTWVkaWFEZXZpY2VJbmZvW10gPSBbXTtcblxuICBzdGF0aWMgaGFzVmlkZW9JbnB1dHMoKSB7XG4gICAgY29uc3QgaW5wdXRzID0gV2ViY2FtVXRpbC5hdmFpbGFibGVWaWRlb0lucHV0cztcbiAgICByZXR1cm4gISFpbnB1dHMuZmluZChpbnB1dCA9PiAhIWlucHV0LmRldmljZUlkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMaXN0cyBhdmFpbGFibGUgdmlkZW9JbnB1dCBkZXZpY2VzXG4gICAqIEByZXR1cm5zIGEgbGlzdCBvZiBtZWRpYSBkZXZpY2UgaW5mby5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgYXN5bmMgZ2V0QXZhaWxhYmxlVmlkZW9JbnB1dHMoKTogUHJvbWlzZTxNZWRpYURldmljZUluZm9bXT4ge1xuICAgIGlmICghbmF2aWdhdG9yLm1lZGlhRGV2aWNlcyB8fCAhbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2VudW1lcmF0ZURldmljZXMoKSBub3Qgc3VwcG9ydGVkLicpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5oYXNWaWRlb0lucHV0cygpKSB7XG4gICAgICBjb25zdCBkZXZpY2VzID0gYXdhaXQgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5lbnVtZXJhdGVEZXZpY2VzKCk7XG4gICAgICBXZWJjYW1VdGlsLmF2YWlsYWJsZVZpZGVvSW5wdXRzID0gZGV2aWNlcy5maWx0ZXIoKGRldmljZTogTWVkaWFEZXZpY2VJbmZvKSA9PiBkZXZpY2Uua2luZCA9PT0gJ3ZpZGVvaW5wdXQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gV2ViY2FtVXRpbC5hdmFpbGFibGVWaWRlb0lucHV0cztcbiAgfVxufVxuIl19