/jquery.webcam.js
https://github.com/benrxv/jQuery-webcam · JavaScript · 89 lines · 62 code · 18 blank · 9 comment · 10 complexity · 837ebf22d4df5f11eeecd52c2567afcb MD5 · raw file
- /**
- * @license jQuery webcam plugin v1.0 09/12/2010
- * http://www.xarg.org/project/jquery-webcam-plugin/
- *
- * Copyright (c) 2010, Robert Eisele (robert@xarg.org)
- * Dual licensed under the MIT or GPL Version 2 licenses.
- **/
- (function ($) {
- var webcam = {
- extern: null, // external select token to support jQuery dialogs
- append: true, // append object instead of overwriting
- width: 320,
- height: 240,
- mode: "callback", // callback | save | stream
- swffile: "jscam.swf",
- quality: 85,
- debug: function () {},
- onCapture: function () {},
- onTick: function () {},
- onSave: function () {},
- onLoad: function () {}
- };
- window.webcam = webcam;
- $.fn.webcam = function(options) {
- if (typeof options === "object") {
- for (var ndx in webcam) {
- if (options[ndx] !== undefined) {
- webcam[ndx] = options[ndx];
- }
- }
- }
- var source = '<object id="XwebcamXobjectX" type="application/x-shockwave-flash" data="'+webcam.swffile+'" width="'+webcam.width+'" height="'+webcam.height+'"><param name="movie" value="'+webcam.swffile+'" /><param name="FlashVars" value="mode='+webcam.mode+'&quality='+webcam.quality+'" /><param name="allowScriptAccess" value="always" /></object>';
- if (null !== webcam.extern) {
- $(webcam.extern)[webcam.append ? "append" : "html"](source);
- } else {
- this[webcam.append ? "append" : "html"](source);
- }
- (_register = function(run) {
- var cam = document.getElementById('XwebcamXobjectX');
- if (cam.capture !== undefined) {
- /* Simple callback methods are not allowed :-/ */
- webcam.capture = function(x) {
- try {
- return cam.capture(x);
- } catch(e) {}
- }
- webcam.save = function(x) {
- try {
- return cam.save(x);
- } catch(e) {}
- }
- webcam.setCamera = function(x) {
- try {
- return cam.setCamera(x);
- } catch(e) {}
- }
- webcam.getCameraList = function() {
- try {
- return cam.getCameraList();
- } catch(e) {}
- }
- webcam.onLoad();
- } else if (0 == run) {
- webcam.debug("error", "Flash movie not yet registered!");
- } else {
- /* Flash interface not ready yet */
- window.setTimeout(_register, 1000 * (4 - run), run - 1);
- }
- })(3);
- }
- })(jQuery);