Camera Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Caution
This class is obsoleted in this android platform
The Camera class is used to set image capture settings, start/stop preview, snap pictures, and retrieve frames for encoding for video.
[Android.Runtime.Register("android/hardware/Camera", DoNotGenerateAcw=true)]
[System.Obsolete("This class is obsoleted in this android platform")]
public class Camera : Java.Lang.Object
[<Android.Runtime.Register("android/hardware/Camera", DoNotGenerateAcw=true)>]
[<System.Obsolete("This class is obsoleted in this android platform")>]
type Camera = class
inherit Object
- Inheritance
- Attributes
Remarks
The Camera class is used to set image capture settings, start/stop preview, snap pictures, and retrieve frames for encoding for video. This class is a client for the Camera service, which manages the actual camera hardware.
To access the device camera, you must declare the android.Manifest.permission#CAMERA
permission in your Android Manifest. Also be sure to include the <uses-feature> manifest element to declare camera features used by your application. For example, if you use the camera and auto-focus feature, your Manifest should include the following:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
To take pictures with this class, use the following steps:
<ol> <li>Obtain an instance of Camera from #open(int)
.
<li>Get existing (default) settings with #getParameters()
.
<li>If necessary, modify the returned Camera.Parameters
object and call #setParameters(Camera.Parameters)
.
<li>Call #setDisplayOrientation(int)
to ensure correct orientation of preview.
<li><b>Important</b>: Pass a fully initialized SurfaceHolder
to #setPreviewDisplay(SurfaceHolder)
. Without a surface, the camera will be unable to start the preview.
<li><b>Important</b>: Call #startPreview()
to start updating the preview surface. Preview must be started before you can take a picture.
<li>When you want, call #takePicture(Camera.ShutterCallback, Camera.PictureCallback, Camera.PictureCallback, Camera.PictureCallback)
to capture a photo. Wait for the callbacks to provide the actual image data.
<li>After taking a picture, preview display will have stopped. To take more photos, call #startPreview()
again first.
<li>Call #stopPreview()
to stop updating the preview surface.
<li><b>Important:</b> Call #release()
to release the camera for use by other applications. Applications should release the camera immediately in android.app.Activity#onPause()
(and re-#open()
it in android.app.Activity#onResume()
). </ol>
To quickly switch to video recording mode, use these steps:
<ol> <li>Obtain and initialize a Camera and start preview as described above.
<li>Call #unlock()
to allow the media process to access the camera.
<li>Pass the camera to android.media.MediaRecorder#setCamera(Camera)
. See android.media.MediaRecorder
information about video recording.
<li>When finished recording, call #reconnect()
to re-acquire and re-lock the camera.
<li>If desired, restart preview and take more photos or videos.
<li>Call #stopPreview()
and #release()
as described above. </ol>
This class is not thread-safe, and is meant for use from one event thread. Most long-running operations (preview, focus, photo capture, etc) happen asynchronously and invoke callbacks as necessary. Callbacks will be invoked on the event thread #open(int)
was called from. This class's methods must never be called from multiple threads at once.
<p class="caution"><strong>Caution:</strong> Different Android-powered devices may have different hardware specifications, such as megapixel ratings and auto-focus capabilities. In order for your application to be compatible with more devices, you should not make assumptions about the device camera specifications.</p>
<div class="special reference"> <h3>Developer Guides</h3>
For more information about using cameras, read the Camera developer guide.
</div>
This member is deprecated. We recommend using the new android.hardware.camera2
API for new applications.
Java documentation for android.hardware.Camera
.
Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
Constructors
Camera(IntPtr, JniHandleOwnership) |
A constructor used when creating managed representations of JNI objects; called by the runtime. |
Fields
ActionNewPicture |
Obsolete.
Broadcast Action: A new picture is taken by the camera, and the entry of the picture has been added to the media store. |
ActionNewVideo |
Obsolete.
Broadcast Action: A new video is recorded by the camera, and the entry of the video has been added to the media store. |
Properties
Class |
Returns the runtime class of this |
Handle |
The handle to the underlying Android instance. (Inherited from Object) |
JniIdentityHashCode | (Inherited from Object) |
JniPeerMembers | |
NumberOfCameras |
Obsolete.
Returns the number of physical cameras available on this device. |
PeerReference | (Inherited from Object) |
ThresholdClass |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. |
ThresholdType |
This API supports the Mono for Android infrastructure and is not intended to be used directly from your code. |
Methods
AddCallbackBuffer(Byte[]) |
Obsolete.
Adds a pre-allocated buffer to the preview callback buffer queue. |
AutoFocus(Camera+IAutoFocusCallback) |
Obsolete.
Starts camera auto-focus and registers a callback function to run when the camera is focused. |
CancelAutoFocus() |
Obsolete.
Cancels any auto-focus function in progress. |
Clone() |
Creates and returns a copy of this object. (Inherited from Object) |
Dispose() | (Inherited from Object) |
Dispose(Boolean) | (Inherited from Object) |
EnableShutterSound(Boolean) |
Obsolete.
Enable or disable the default shutter sound when taking a picture. |
Equals(Object) |
Indicates whether some other object is "equal to" this one. (Inherited from Object) |
GetCameraInfo(Int32, Camera+CameraInfo) |
Obsolete.
Returns the information about a particular camera. |
GetHashCode() |
Returns a hash code value for the object. (Inherited from Object) |
GetParameters() |
Obsolete.
Returns the current settings for this Camera service. |
JavaFinalize() |
Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. (Inherited from Object) |
Lock() |
Obsolete.
Re-locks the camera to prevent other processes from accessing it. |
Notify() |
Wakes up a single thread that is waiting on this object's monitor. (Inherited from Object) |
NotifyAll() |
Wakes up all threads that are waiting on this object's monitor. (Inherited from Object) |
Open() |
Obsolete.
Creates a new Camera object to access the first back-facing camera on the device. |
Open(Int32) |
Obsolete.
Creates a new Camera object to access a particular hardware camera. |
Reconnect() |
Obsolete.
Reconnects to the camera service after another process used it. |
Release() |
Obsolete.
Disconnects and releases the Camera object resources. |
SetAutoFocusMoveCallback(Camera+IAutoFocusMoveCallback) |
Obsolete.
Sets camera auto-focus move callback. |
SetDisplayOrientation(Int32) |
Obsolete.
Set the clockwise rotation of preview display in degrees. |
SetErrorCallback(Camera+IErrorCallback) |
Obsolete.
Registers a callback to be invoked when an error occurs. |
SetFaceDetectionListener(Camera+IFaceDetectionListener) |
Obsolete.
Registers a listener to be notified about the faces detected in the preview frame. |
SetHandle(IntPtr, JniHandleOwnership) |
Sets the Handle property. (Inherited from Object) |
SetOneShotPreviewCallback(Camera+IPreviewCallback) |
Obsolete.
Installs a callback to be invoked for the next preview frame in addition to displaying it on the screen. |
SetParameters(Camera+Parameters) |
Obsolete.
Changes the settings for this Camera service. |
SetPreviewCallback(Camera+IPreviewCallback) |
Obsolete.
Installs a callback to be invoked for every preview frame in addition to displaying them on the screen. |
SetPreviewCallbackWithBuffer(Camera+IPreviewCallback) |
Obsolete.
Installs a callback to be invoked for every preview frame, using
buffers supplied with |
SetPreviewDisplay(ISurfaceHolder) |
Obsolete.
Sets the |
SetPreviewTexture(SurfaceTexture) |
Obsolete.
Sets the |
SetZoomChangeListener(Camera+IOnZoomChangeListener) |
Obsolete.
Registers a listener to be notified when the zoom value is updated by the camera driver during smooth zoom. |
StartFaceDetection() |
Obsolete.
Starts the face detection. |
StartPreview() |
Obsolete.
Starts capturing and drawing preview frames to the screen. |
StartSmoothZoom(Int32) |
Obsolete.
Zooms to the requested value smoothly. |
StopFaceDetection() |
Obsolete.
Stops the face detection. |
StopPreview() |
Obsolete.
Stops capturing and drawing preview frames to the surface, and
resets the camera for a future call to |
StopSmoothZoom() |
Obsolete.
Stops the smooth zoom. |
TakePicture(Camera+IShutterCallback, Camera+IPictureCallback, Camera+IPictureCallback, Camera+IPictureCallback) |
Obsolete.
Equivalent to |
TakePicture(Camera+IShutterCallback, Camera+IPictureCallback, Camera+IPictureCallback) |
Obsolete.
Equivalent to |
ToArray<T>() | (Inherited from Object) |
ToString() |
Returns a string representation of the object. (Inherited from Object) |
Unlock() |
Obsolete.
Unlocks the camera to allow another process to access it. |
UnregisterFromRuntime() | (Inherited from Object) |
Wait() |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>. (Inherited from Object) |
Wait(Int64, Int32) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Wait(Int64) |
Causes the current thread to wait until it is awakened, typically by being <em>notified</em> or <em>interrupted</em>, or until a certain amount of real time has elapsed. (Inherited from Object) |
Events
FaceDetection | |
ZoomChange |
Explicit Interface Implementations
IJavaPeerable.Disposed() | (Inherited from Object) |
IJavaPeerable.DisposeUnlessReferenced() | (Inherited from Object) |
IJavaPeerable.Finalized() | (Inherited from Object) |
IJavaPeerable.JniManagedPeerState | (Inherited from Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) | (Inherited from Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) | (Inherited from Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) | (Inherited from Object) |
Extension Methods
JavaCast<TResult>(IJavaObject) |
Performs an Android runtime-checked type conversion. |
JavaCast<TResult>(IJavaObject) | |
GetJniTypeName(IJavaPeerable) |