Say Cheese! - getUserMedia made simple
getUserMedia
is a relatively new browser API that allows you to access the user's webcam and microphone. Getting it set up in a cross-browser compatible way isn't easy, though, due to the amount of vendor specific functions required, as well as their difference in implementation.
Say Cheese! is a small library that allows you to make use of webcams in your app, and also take pictures. It works in Chrome, Firefox*, and Opera.
Q: So, why use it, then?
A: Because it spares you the pain of having to deal with the set up yourself. You don't have to faff about with feature detection and all that:
window.URL = (window.URL || window.webkitURL);
if (window.URL && window.URL.createObjectURL) {
return window.URL.createObjectURL(this.stream);
} else {
return this.stream;
}
... blah blah blah...
When you can do this:
// the container element is where the video is appended
var webcam = new SayCheese('#container-element', { snapshots: false });
webcam.on('start', function() {
// do something
});
webcam.on('error', function() {
// gets fired when not supported, or user denies access
});
webcam.start();
That's basically it. Give it a shot and help improve it :)
* A bug in the current version of stable Firefox prevents the snapshot functionality from working correctly, however this has been fixed in Aurora and Nightly.
Written by Lee Machin
Related protips
Have a fresh tip? Share with Coderwall community!

