@twilio/voice-sdk
Version:
Twilio's JavaScript Voice SDK
39 lines • 3.81 kB
JavaScript
/**
* @packageDocumentation
* @module Voice
* @internalapi
*/
// @ts-nocheck
import { NotSupportedError } from '../errors';
import * as util from '../util';
function getUserMedia(constraints, options) {
options = options || {};
options.util = options.util || util;
options.navigator = options.navigator
|| (typeof navigator !== 'undefined' ? navigator : null);
return new Promise((resolve, reject) => {
if (!options.navigator) {
throw new NotSupportedError('getUserMedia is not supported');
}
switch ('function') {
case typeof (options.navigator.mediaDevices && options.navigator.mediaDevices.getUserMedia):
return resolve(options.navigator.mediaDevices.getUserMedia(constraints));
case typeof options.navigator.webkitGetUserMedia:
return options.navigator.webkitGetUserMedia(constraints, resolve, reject);
case typeof options.navigator.mozGetUserMedia:
return options.navigator.mozGetUserMedia(constraints, resolve, reject);
case typeof options.navigator.getUserMedia:
return options.navigator.getUserMedia(constraints, resolve, reject);
default:
throw new NotSupportedError('getUserMedia is not supported');
}
}).catch(e => {
throw (options.util.isFirefox() && e.name === 'NotReadableError')
? new NotSupportedError('Firefox does not currently support opening multiple audio input tracks' +
'simultaneously, even across different tabs.\n' +
'Related Bugzilla thread: https://bugzilla.mozilla.org/show_bug.cgi?id=1299324')
: e;
});
}
export default getUserMedia;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0dXNlcm1lZGlhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3R3aWxpby9ydGMvZ2V0dXNlcm1lZGlhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7O0dBSUc7QUFDSCxjQUFjO0FBQ2QsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzlDLE9BQU8sS0FBSyxJQUFJLE1BQU0sU0FBUyxDQUFDO0FBRWhDLFNBQVMsWUFBWSxDQUFDLFdBQVcsRUFBRSxPQUFPO0lBQ3hDLE9BQU8sR0FBRyxPQUFPLElBQUksRUFBRSxDQUFDO0lBQ3hCLE9BQU8sQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7SUFDcEMsT0FBTyxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUztXQUNoQyxDQUFDLE9BQU8sU0FBUyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUUzRCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxpQkFBaUIsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1NBQzlEO1FBRUQsUUFBUSxVQUFVLEVBQUU7WUFDbEIsS0FBSyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLElBQUksT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDO2dCQUN6RixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztZQUMzRSxLQUFLLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0I7Z0JBQzlDLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzVFLEtBQUssT0FBTyxPQUFPLENBQUMsU0FBUyxDQUFDLGVBQWU7Z0JBQzNDLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6RSxLQUFLLE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxZQUFZO2dCQUN4QyxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDdEU7Z0JBQ0UsTUFBTSxJQUFJLGlCQUFpQixDQUFDLCtCQUErQixDQUFDLENBQUM7U0FDaEU7SUFDSCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDWCxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSSxLQUFLLGtCQUFrQixDQUFDO1lBQy9ELENBQUMsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLHdFQUF3RTtnQkFDOUYsK0NBQStDO2dCQUMvQywrRUFBK0UsQ0FBQztZQUNsRixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ1IsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsZUFBZSxZQUFZLENBQUMifQ==