Revision: 29446
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at July 29, 2010 18:34 by jansensan
Initial Code
/**
* Neave Camera
*
* Copyright (C) 2008 Paul Neave
* http://www.neave.com/
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation at http://www.gnu.org/licenses/gpl.html
*/
package com.neave.media
{
import flash.events.*;
import flash.media.*;
import flash.system.*;
public class NeaveCamera
{
/**
* The requested width of the camera object
*/
static public var CAMERA_WIDTH:int = 320;
/**
* The requested height of the camera object
*/
static public var CAMERA_HEIGHT:int = 240;
static private var cam:Camera;
public function NeaveCamera()
{
}
/**
* Sets up and returns the camera object
*
* @return A camera object
*/
static public function getCamera():Camera
{
// Return the same camera if it has been successfully requested before
if(cam != null)
{
if(cam.muted)
Security.showSettings(SecurityPanel.PRIVACY);
return cam;
}
// Get the camera
cam = Camera.getCamera();
if(cam != null)
{
// Set properties if a camera was found
cam.setMode(CAMERA_WIDTH, CAMERA_HEIGHT, 30, true);
cam.addEventListener(StatusEvent.STATUS, NeaveCamera.statusListener);
return cam;
}
else
{
// No camera found
if(Camera.names.length > 0)
{
// If there are cameras listed on the computer
Security.showSettings(SecurityPanel.CAMERA);
return new Camera();
}
else
{
// If there no cameras at all
return null;
}
}
}
/**
* Whether the camera object is available or not
*/
static public function get muted():Boolean
{
return cam == null || cam.muted || cam.name == null || cam.width == 0;
}
/**
* Camera status response
*/
static private function statusListener(e:StatusEvent):void
{
switch(e.code)
{
case "Camera.Unmuted":
Security.showSettings(SecurityPanel.CAMERA);
break;
default:
// trace(e.code);
break;
}
}
}
}
Initial URL
Initial Description
I modified the getCamera() function of the source available on http://www.neave.com/webcam/ so that if Camera.names is 0, the function does not create a camera
Initial Title
com.neave.media.NeaveCamera modification
Initial Tags
Initial Language
ActionScript 3