diff options
Diffstat (limited to 'webcam')
| -rw-r--r-- | webcam/.DS_Store | bin | 6148 -> 0 bytes | |||
| -rw-r--r-- | webcam/.svn/all-wcprops | 23 | ||||
| -rw-r--r-- | webcam/.svn/entries | 53 | ||||
| -rw-r--r-- | webcam/.svn/format | 1 | ||||
| -rw-r--r-- | webcam/.svn/prop-base/Webcam.fla.svn-base | 5 | ||||
| -rw-r--r-- | webcam/.svn/text-base/README.txt.svn-base | 10 | ||||
| -rw-r--r-- | webcam/.svn/text-base/Webcam.as.svn-base | 1 | ||||
| -rw-r--r-- | webcam/.svn/text-base/Webcam.fla.svn-base | bin | 47104 -> 0 bytes | |||
| -rw-r--r-- | webcam/com/.DS_Store | bin | 6148 -> 0 bytes | |||
| -rw-r--r-- | webcam/com/adobe/.DS_Store | bin | 6148 -> 0 bytes |
10 files changed, 0 insertions, 93 deletions
diff --git a/webcam/.DS_Store b/webcam/.DS_Store Binary files differdeleted file mode 100644 index 2b615a7..0000000 --- a/webcam/.DS_Store +++ /dev/null diff --git a/webcam/.svn/all-wcprops b/webcam/.svn/all-wcprops deleted file mode 100644 index d2b1fb7..0000000 --- a/webcam/.svn/all-wcprops +++ /dev/null @@ -1,23 +0,0 @@ -K 25 -svn:wc:ra_dav:version-url -V 25 -/svn/!svn/ver/7/trunk/src -END -Webcam.fla -K 25 -svn:wc:ra_dav:version-url -V 36 -/svn/!svn/ver/7/trunk/src/Webcam.fla -END -Webcam.as -K 25 -svn:wc:ra_dav:version-url -V 36 -/svn/!svn/ver/33/trunk/src/Webcam.as -END -README.txt -K 25 -svn:wc:ra_dav:version-url -V 36 -/svn/!svn/ver/7/trunk/src/README.txt -END diff --git a/webcam/.svn/entries b/webcam/.svn/entries deleted file mode 100644 index 0f931ee..0000000 --- a/webcam/.svn/entries +++ /dev/null @@ -1,53 +0,0 @@ -8 - -dir -7 -https://jpegcam.googlecode.com/svn/trunk/src -https://jpegcam.googlecode.com/svn - - - -2008-03-16T14:34:21.889399Z -7 -jhuckaby - - -svn:special svn:externals svn:needs-lock - -Webcam.fla -file - - - - -2008-03-16T14:31:46.000000Z -c474f193f67d653bc3e274eb6592877c -2008-03-16T14:34:21.889399Z -7 -jhuckaby -has-props - -Webcam.as -file -33 - - - -2009-10-09T15:34:28.000000Z -845f929b9d999432598f8063229e0744 -2009-10-09T15:37:31.976780Z -33 -jhuckaby - -README.txt -file - - - - -2008-03-16T14:31:46.000000Z -3ef596643a5e28ae03904578ccc9f85f -2008-03-16T14:34:21.889399Z -7 -jhuckaby - diff --git a/webcam/.svn/format b/webcam/.svn/format deleted file mode 100644 index 45a4fb7..0000000 --- a/webcam/.svn/format +++ /dev/null @@ -1 +0,0 @@ -8 diff --git a/webcam/.svn/prop-base/Webcam.fla.svn-base b/webcam/.svn/prop-base/Webcam.fla.svn-base deleted file mode 100644 index 5e9587e..0000000 --- a/webcam/.svn/prop-base/Webcam.fla.svn-base +++ /dev/null @@ -1,5 +0,0 @@ -K 13 -svn:mime-type -V 24 -application/octet-stream -END diff --git a/webcam/.svn/text-base/README.txt.svn-base b/webcam/.svn/text-base/README.txt.svn-base deleted file mode 100644 index aab2a76..0000000 --- a/webcam/.svn/text-base/README.txt.svn-base +++ /dev/null @@ -1,10 +0,0 @@ -BUILDING INSTRUCTIONS - -This library requires the AS3 Core Library (as3corelib) available from Google Code: - http://code.google.com/p/as3corelib/ - -After downloading and extracting the package, place the "com" directory right here, -alongside the "Webcam.fla" and "Webcam.as" files. - -You should then be able to compile the FLA into a SWF. -This requires Adobe Flash CS3 (this is a Flash 9 movie). diff --git a/webcam/.svn/text-base/Webcam.as.svn-base b/webcam/.svn/text-base/Webcam.as.svn-base deleted file mode 100644 index c8be6ca..0000000 --- a/webcam/.svn/text-base/Webcam.as.svn-base +++ /dev/null @@ -1 +0,0 @@ -package {
/* JPEGCam v1.0.8 */
/* Webcam library for capturing JPEG images and submitting to a server */
/* Copyright (c) 2008 - 2009 Joseph Huckaby <jhuckaby@goldcartridge.com> */
/* Licensed under the GNU Lesser Public License */
/* http://www.gnu.org/licenses/lgpl.html */
import flash.display.LoaderInfo;
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.*;
import flash.utils.*;
import flash.media.Camera;
import flash.media.Video;
import flash.external.ExternalInterface;
import flash.net.*;
import flash.system.Security;
import flash.system.SecurityPanel;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.geom.Matrix;
import com.adobe.images.JPGEncoder;
public class Webcam extends Sprite {
private var video:Video;
private var encoder:JPGEncoder;
private var snd:Sound;
private var channel:SoundChannel = new SoundChannel();
private var jpeg_quality:int;
private var video_width:int;
private var video_height:int;
private var server_width:int;
private var server_height:int;
private var camera:Camera;
private var bmp:Bitmap;
private var bmpdata:BitmapData;
private var url:String;
public function Webcam() {
// class constructor
flash.system.Security.allowDomain("*");
var flashvars:Object = LoaderInfo(this.root.loaderInfo).parameters;
video_width = Math.floor( flashvars.width );
video_height = Math.floor( flashvars.height );
server_width = Math.floor( flashvars.server_width );
server_height = Math.floor( flashvars.server_height );
stage.scaleMode = StageScaleMode.NO_SCALE;
// stage.scaleMode = StageScaleMode.EXACT_FIT;
stage.align = StageAlign.TOP_LEFT;
stage.stageWidth = Math.max(video_width, server_width);
stage.stageHeight = Math.max(video_height, server_height);
// Hack to auto-select iSight camera on Mac (JPEGCam Issue #5, submitted by manuel.gonzalez.noriega)
// From: http://www.squidder.com/2009/03/09/trick-auto-select-mac-isight-in-flash/
var cameraIdx:int = -1;
for (var idx = 0, len = Camera.names.length; idx < len; idx++) {
if (Camera.names[idx] == "USB Video Class Video") {
cameraIdx = idx;
idx = len;
}
}
if (cameraIdx > -1) camera = Camera.getCamera( String(cameraIdx) );
else camera = Camera.getCamera();
if (camera != null) {
camera.addEventListener(ActivityEvent.ACTIVITY, activityHandler);
video = new Video( Math.max(video_width, server_width), Math.max(video_height, server_height) );
video.attachCamera(camera);
addChild(video);
if ((video_width < server_width) && (video_height < server_height)) {
video.scaleX = video_width / server_width;
video.scaleY = video_height / server_height;
}
camera.setQuality(0, 100);
camera.setKeyFrameInterval(10);
camera.setMode( Math.max(video_width, server_width), Math.max(video_height, server_height), 30);
// do not detect motion (may help reduce CPU usage)
camera.setMotionLevel( 100 );
ExternalInterface.addCallback('_snap', snap);
ExternalInterface.addCallback('_configure', configure);
ExternalInterface.addCallback('_upload', upload);
ExternalInterface.addCallback('_reset', reset);
if (flashvars.shutter_enabled == 1) {
snd = new Sound();
snd.load( new URLRequest( flashvars.shutter_url ) );
}
jpeg_quality = 90;
ExternalInterface.call('webcam.flash_notify', 'flashLoadComplete', true);
}
else {
trace("You need a camera.");
ExternalInterface.call('webcam.flash_notify', "error", "No camera was detected.");
}
}
public function set_quality(new_quality:int) {
// set JPEG image quality
if (new_quality < 0) new_quality = 0;
if (new_quality > 100) new_quality = 100;
jpeg_quality = new_quality;
}
public function configure(panel:String = SecurityPanel.CAMERA) {
// show configure dialog inside flash movie
Security.showSettings(panel);
}
private function activityHandler(event:ActivityEvent):void {
trace("activityHandler: " + event);
}
public function snap(url, new_quality, shutter) {
// take snapshot from camera, and upload if URL was provided
if (new_quality) set_quality(new_quality);
trace("in snap(), drawing to bitmap");
if (shutter) {
channel = snd.play();
setTimeout( snap2, 10, url );
}
else snap2(url);
}
public function snap2(url) {
// take snapshot, convert to jpeg, submit to server
bmpdata = new BitmapData( Math.max(video_width, server_width), Math.max(video_height, server_height) );
bmpdata.draw( video );
// draw snapshot on stage
bmp = new Bitmap( bmpdata );
addChild( bmp );
// stop capturing video
video.attachCamera( null );
removeChild( video );
// if URL was provided, upload now
if (url) upload( url );
}
public function upload(url) {
if (bmpdata) {
if ((video_width > server_width) && (video_height > server_height)) {
// resize image downward before submitting
var tmpdata = new BitmapData(server_width, server_height);
var matrix = new Matrix();
matrix.scale( server_width / video_width, server_height / video_height );
tmpdata.draw( bmpdata, matrix, null, null, null, true ); // smoothing
bmpdata = tmpdata;
} // need resize
trace("converting to jpeg");
var ba:ByteArray;
encoder = new JPGEncoder( jpeg_quality );
ba = encoder.encode( bmpdata );
trace("jpeg length: " + ba.length);
var head:URLRequestHeader = new URLRequestHeader("Accept","text/*");
var req:URLRequest = new URLRequest( url );
req.requestHeaders.push(head);
req.data = ba;
req.method = URLRequestMethod.POST;
req.contentType = "image/jpeg";
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, onLoaded);
trace("sending post to: " + url);
try {
loader.load(req);
}
catch (error:Error) {
trace("Unable to load requested document.");
ExternalInterface.call('webcam.flash_notify', "error", "Unable to post data: " + error);
}
}
else {
ExternalInterface.call('webcam.flash_notify', "error", "Nothing to upload, must capture an image first.");
}
}
public function onLoaded(evt:Event):void {
// image upload complete
var msg = "unknown";
if (evt && evt.target && evt.target.data) msg = evt.target.data;
ExternalInterface.call('webcam.flash_notify', "success", msg);
}
public function reset() {
// reset video after taking snapshot
if (bmp) {
removeChild( bmp );
bmp = null;
bmpdata = null;
video.attachCamera(camera);
addChild(video);
}
}
}
}
\ No newline at end of file diff --git a/webcam/.svn/text-base/Webcam.fla.svn-base b/webcam/.svn/text-base/Webcam.fla.svn-base Binary files differdeleted file mode 100644 index d4d3f44..0000000 --- a/webcam/.svn/text-base/Webcam.fla.svn-base +++ /dev/null diff --git a/webcam/com/.DS_Store b/webcam/com/.DS_Store Binary files differdeleted file mode 100644 index bc07b9d..0000000 --- a/webcam/com/.DS_Store +++ /dev/null diff --git a/webcam/com/adobe/.DS_Store b/webcam/com/adobe/.DS_Store Binary files differdeleted file mode 100644 index 10f526f..0000000 --- a/webcam/com/adobe/.DS_Store +++ /dev/null |
