webrtc-test-suite
Version:
Testing webRTC capabilities by trying to use them. Not a feature detector. A capability tester.Also packs some utilities to make developer's live easier while making webRTC tools.
24 lines • 1.28 kB
JavaScript
export default function getUserMedia(constraints, verbose = false){
return new Promise((resolve,reject)=>{
if(!constraints.audio && !constraints.video) return reject(new Error("Audio Video Constraints inappropriate"));
const _success = (stream) => resolve(stream);
const _err = (err) => reject(err);
if(navigator.mediaDevices.getUserMedia){
verbose && console.log(`[get-user-media]: Using mediaDevices.getUserMedia`);
navigator.mediaDevices.getUserMedia(constraints).then(resolve).catch(reject);
}
else if(navigator.getUserMedia){
verbose && console.log(`[get-user-media]: Using navigator.getUserMedia`);
navigator.getUserMedia(constraints, _success, _err);
}
else if(navigator.webkitGetUserMedia){
verbose && console.log(`[get-user-media]: Using navigator.webkitGetUserMedia`);
navigator.webkitGetUserMedia(constraints, _success, _err);
}
else if(navigator.mozGetUserMedia){
verbose && console.log(`[get-user-media]: Using navigator.mozGetUserMedia`);
navigator.mozGetUserMedia(constraints, _success, _err);
}
else reject(new Error("No version of getusermedia was found"));
});
}