Class Camera
Definition
- Namespace:
- Tizen.Multimedia
- Assembly:
- Tizen.Multimedia.Camera.dll
This camera class provides methods to capture photos and supports setting up notifications for state changes of capturing, previewing, focusing, and informing about the resolution and the binary format, and functions for picture manipulations like sepia, negative, and many more. It also notifies you when a significant picture parameter changes, (For example, focus).
public class Camera : IDisposable
- Inheritance
-
objectCamera
- Implements
-
System.IDisposable
Constructors
View SourceCamera()
Initializes a new instance of the Camera class.
Declaration
public Camera()
Remarks
If CameraDeviceManager is supported, CameraDevice will be selected automatically by internal policy.
(User can check whether CameraDeviceManager is supported or not by using IsCameraDeviceManagerSupported.)
But, if not, this constructor will try to create Camera instance with CameraDevice0 by default.
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | There's no available camera device.
-or- |
System.NotSupportedException | The camera feature is not supported. |
See Also
View SourceCamera(CameraDevice)
Initializes a new instance of the Camera class.
Declaration
public Camera(CameraDevice device)
Parameters
Type | Name | Description |
---|---|---|
CameraDevice | device | The camera device to access. |
Exceptions
Type | Condition |
---|---|
System.ArgumentException | Invalid CameraDevice type. |
System.InvalidOperationException | In case of any invalid operations. |
System.NotSupportedException | The camera feature is not supported. |
Properties
View SourceCameraCount
Gets the camera device count.
Declaration
public int CameraCount { get; }
Property Value
Type | Description |
---|---|
int | This returns 2, if the device supports primary and secondary cameras. Otherwise 1, if the device only supports primary camera. |
Exceptions
Type | Condition |
---|---|
System.ObjectDisposedException | The camera has already been disposed. |
Capabilities
Gets the various camera capabilities.
Declaration
public CameraCapabilities Capabilities { get; }
Property Value
Type | Description |
---|---|
CameraCapabilities |
Direction
Gets the facing direction of the camera module.
Declaration
public CameraFacingDirection Direction { get; }
Property Value
Type | Description |
---|---|
CameraFacingDirection | A CameraFacingDirection that specifies the facing direction of the camera device. |
Exceptions
Type | Condition |
---|---|
System.ObjectDisposedException | The camera has already been disposed. |
Display
Sets or gets the display type and handle to show preview images. The camera must be in the Created state.
Declaration
public Display Display { get; set; }
Property Value
Type | Description |
---|---|
Display |
Remarks
This must be set before the StartPreview() method. In custom ROI display mode, DisplayRoiArea property must be set before calling this method.
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | In case of any invalid operations. |
System.NotSupportedException | In case of this feature is not supported. |
System.ObjectDisposedException | The camera has already been disposed. |
System.UnauthorizedAccessException | In case of access to the resources cannot be granted. |
DisplayReuseHint
The hint for the display reuse. If the hint is set to true, the display will be reused when the camera device is changed with the ChangeDevice method.
Declaration
public bool DisplayReuseHint { get; set; }
Property Value
Type | Description |
---|---|
bool |
Exceptions
Type | Condition |
---|---|
System.ArgumentException | In case of invalid parameters. |
System.InvalidOperationException | An invalid state. |
System.ObjectDisposedException | The camera has already been disposed. |
DisplaySettings
Get/set various camera display properties.
Declaration
public CameraDisplaySettings DisplaySettings { get; }
Property Value
Type | Description |
---|---|
CameraDisplaySettings |
Handle
Gets the native handle of the camera.
Declaration
public IntPtr Handle { get; }
Property Value
Type | Description |
---|---|
System.IntPtr |
Settings
Gets or sets the various camera settings.
Declaration
public CameraSettings Settings { get; }
Property Value
Type | Description |
---|---|
CameraSettings |
State
Gets the state of the camera.
Declaration
public CameraState State { get; }
Property Value
Type | Description |
---|---|
CameraState | None, Created, Preview, Capturing, Captured. |
Exceptions
Type | Condition |
---|---|
System.ObjectDisposedException | The camera has already been disposed. |
Methods
View SourceChangeDevice(CameraDevice)
Changes the camera device.
Declaration
public void ChangeDevice(CameraDevice device)
Parameters
Type | Name | Description |
---|---|---|
CameraDevice | device | The hardware camera to access. |
Remarks
If display reuse is set using DisplayReuseHint before stopping the preview, the display will be reused and last frame on the display can be kept even though camera device is changed. The camera must be in the Created.
Exceptions
Type | Condition |
---|---|
System.ArgumentException | In case of invalid parameters. |
System.InvalidOperationException | In case of any invalid operations. |
System.NotSupportedException | In case of the ChangeDevice feature is not supported. |
System.ObjectDisposedException | The camera has already been disposed. |
Dispose()
Releases all resources used by the camera.
Declaration
public void Dispose()
Dispose(bool)
Releases the unmanaged resources used by the camera.
Declaration
protected virtual void Dispose(bool disposing)
Parameters
Type | Name | Description |
---|---|---|
bool | disposing | true to release both managed and unmanaged resources; false to release only unmanaged resources. |
~Camera()
Finalizes an instance of the Camera class.
Declaration
protected ~Camera()
GetDeviceState(CameraDevice)
Gets the device state.
Declaration
public static CameraDeviceState GetDeviceState(CameraDevice device)
Parameters
Type | Name | Description |
---|---|---|
CameraDevice | device | The device to get the state. |
Returns
Type | Description |
---|---|
CameraDeviceState | Returns the state of the camera device. |
Exceptions
Type | Condition |
---|---|
System.ArgumentException | In case of invalid parameters. |
System.InvalidOperationException | In case of any invalid operations. |
System.NotSupportedException | In case of this feature is not supported. |
GetFlashState(CameraDevice)
Gets the flash state.
Declaration
public static CameraFlashState GetFlashState(CameraDevice device)
Parameters
Type | Name | Description |
---|---|---|
CameraDevice | device | The device to get the state. |
Returns
Type | Description |
---|---|
CameraFlashState | Returns the flash state of the camera device. |
Exceptions
Type | Condition |
---|---|
System.ArgumentException | In case of invalid parameters. |
System.InvalidOperationException | In case of any invalid operations. |
System.NotSupportedException | In case of this feature is not supported. |
StartCapture()
Starts capturing of still images. EventHandler must be set for capturing using Capturing and for completed using CaptureCompleted before calling this method. The camera must be in the Preview state.
Declaration
public void StartCapture()
Remarks
This function causes the transition of the camera state from capturing to captured automatically and the corresponding EventHandlers will be invoked. The preview should be restarted by calling the StartPreview() method after capture is completed.
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | In case of any invalid operations. |
System.NotSupportedException | In case of this feature is not supported. |
System.ObjectDisposedException | The camera has already been disposed. |
System.UnauthorizedAccessException | In case of access to the resources cannot be granted. |
StartCapture(int, int, CancellationToken)
Starts continuously capturing still images. EventHandler must be set for capturing using Capturing and for completed using CaptureCompleted before calling this method. The camera must be in the Preview state.
Declaration
public void StartCapture(int count, int interval, CancellationToken cancellationToken)
Parameters
Type | Name | Description |
---|---|---|
int | count | The number of still images. |
int | interval | The interval of the capture(milliseconds). |
System.Threading.CancellationToken | cancellationToken | The cancellation token to cancel capturing. |
Remarks
If this is not supported, zero shutter lag occurs. The capture resolution could be changed to the preview resolution. This function causes the transition of the camera state from capturing to captured automatically and the corresponding Eventhandlers will be invoked. Each captured image will be delivered through Eventhandler set using the Capturing event. The preview should be restarted by calling the StartPreview() method after capture is completed.
Exceptions
Type | Condition |
---|---|
System.ArgumentOutOfRangeException | In case of invalid parameters. |
System.InvalidOperationException | In case of any invalid operations. |
System.NotSupportedException | In case of this feature is not supported. |
System.ObjectDisposedException | The camera has already been disposed. |
System.UnauthorizedAccessException | In case of access to the resources cannot be granted. |
See Also
StartFaceDetection()
Starts face detection. The camera must be in the Preview state.
Declaration
public void StartFaceDetection()
Remarks
This should be called after StartPreview() is started. The Eventhandler set using FaceDetected is invoked when the face is detected in the preview frame. Internally, it starts continuously focus and focusing on the detected face.
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | In case of any invalid operations. |
System.NotSupportedException | In case of this feature is not supported. |
System.ObjectDisposedException | The camera has already been disposed. |
System.UnauthorizedAccessException | In case of access to the resources cannot be granted. |
StartFocusing(bool)
Starts camera auto-focusing, asynchronously. The camera must be in the Preview or the Captured state.
Declaration
public void StartFocusing(bool continuous)
Parameters
Type | Name | Description |
---|---|---|
bool | continuous | Continuous auto focus. |
Remarks
If continuous status is true, the camera continuously tries to focus.
Exceptions
Type | Condition |
---|---|
System.ArgumentException | In case of invalid parameters. |
System.InvalidOperationException | In case of any invalid operations. |
System.NotSupportedException | In case of this feature is not supported. |
System.ObjectDisposedException | The camera has already been disposed. |
System.UnauthorizedAccessException | In case of access to the resources cannot be granted. |
StartPreview()
Starts capturing and drawing preview frames on the screen. The display property must be set using Display before using this method. If needed set fps PreviewFps, preview resolution PreviewResolution, or preview format PreviewPixelFormat before using this method. The camera must be in the Created or the Captured state.
Declaration
public void StartPreview()
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | In case of any invalid operations. |
System.NotSupportedException | In case of this feature is not supported. |
System.ObjectDisposedException | The camera has already been disposed. |
System.UnauthorizedAccessException | In case of access to the resources cannot be granted. |
StopFaceDetection()
Stops face detection.
Declaration
public void StopFaceDetection()
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | In case of any invalid operations. |
System.NotSupportedException | In case of this feature is not supported. |
System.ObjectDisposedException | The camera has already been disposed. |
System.UnauthorizedAccessException | In case of access to the resources cannot be granted. |
StopFocusing()
Declaration
public void StopFocusing()
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | In case of any invalid operations. |
System.NotSupportedException | In case of this feature is not supported. |
System.ObjectDisposedException | The camera has already been disposed. |
System.UnauthorizedAccessException | In case of access to the resources cannot be granted. |
StopPreview()
Stops capturing and drawing preview frames on the screen. The camera must be in the Preview state.
Declaration
public void StopPreview()
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | In case of any invalid operations. |
System.NotSupportedException | In case of this feature is not supported. |
System.ObjectDisposedException | The camera has already been disposed. |
System.UnauthorizedAccessException | In case of access to the resources cannot be granted. |
Events
View SourceCaptureCompleted
An event that occurs after the capture of the image.
Declaration
public event EventHandler<EventArgs> CaptureCompleted
Event Type
Type | Description |
---|---|
System.EventHandler<TEventArgs><System.EventArgs> |
Capturing
An event that occurs during capture of an image.
Declaration
public event EventHandler<CameraCapturingEventArgs> Capturing
Event Type
Type | Description |
---|---|
System.EventHandler<TEventArgs><CameraCapturingEventArgs> |
DeviceStateChanged
An event that occurs after the CameraDeviceState is changed.
Declaration
public static event EventHandler<CameraDeviceStateChangedEventArgs> DeviceStateChanged
Event Type
Type | Description |
---|---|
System.EventHandler<TEventArgs><CameraDeviceStateChangedEventArgs> |
Exceptions
Type | Condition |
---|---|
System.InvalidOperationException | In case of any invalid operations. |
System.NotSupportedException | In case of this feature is not supported. |
System.ArgumentException | In case of invalid parameters. |
ErrorOccurred
An event that occurs when there is an asynchronous error.
Declaration
public event EventHandler<CameraErrorOccurredEventArgs> ErrorOccurred
Event Type
Type | Description |
---|---|
System.EventHandler<TEventArgs><CameraErrorOccurredEventArgs> |
ExtraPreview
An event that occurs once per frame when previewing.
Declaration
public event EventHandler<ExtraPreviewEventArgs> ExtraPreview
Event Type
Type | Description |
---|---|
System.EventHandler<TEventArgs><ExtraPreviewEventArgs> |
FaceDetected
An event that occurs when a face is detected in the preview frame.
Declaration
public event EventHandler<FaceDetectedEventArgs> FaceDetected
Event Type
Type | Description |
---|---|
System.EventHandler<TEventArgs><FaceDetectedEventArgs> |
FocusStateChanged
An event that occurs when the auto focus state is changed.
Declaration
public event EventHandler<CameraFocusStateChangedEventArgs> FocusStateChanged
Event Type
Type | Description |
---|---|
System.EventHandler<TEventArgs><CameraFocusStateChangedEventArgs> |
HdrCaptureProgress
An event that occurs when there is a change in the HDR capture progress. Checks whether the IsHdrCaptureSupported is supported or not before adding this EventHandler.
Declaration
public event EventHandler<HdrCaptureProgressEventArgs> HdrCaptureProgress
Event Type
Type | Description |
---|---|
System.EventHandler<TEventArgs><HdrCaptureProgressEventArgs> |
Exceptions
Type | Condition |
---|---|
System.NotSupportedException | In case of HDR feature is not supported. |
Interrupted
An event that occurs when an camera is interrupted by the policy.
Declaration
public event EventHandler<CameraInterruptedEventArgs> Interrupted
Event Type
Type | Description |
---|---|
System.EventHandler<TEventArgs><CameraInterruptedEventArgs> |
InterruptStarted
An event that occurs when the camera interrupt is started by the policy.
Declaration
public event EventHandler<CameraInterruptStartedEventArgs> InterruptStarted
Event Type
Type | Description |
---|---|
System.EventHandler<TEventArgs><CameraInterruptStartedEventArgs> |
MediaPacketPreview
An event that occurs once per frame when previewing. Preview callback is registered when an user adds a callback explicitly to avoid useless P/Invoke.
Declaration
public event EventHandler<MediaPacketPreviewEventArgs> MediaPacketPreview
Event Type
Type | Description |
---|---|
System.EventHandler<TEventArgs><MediaPacketPreviewEventArgs> |
Preview
An event that occurs once per frame when previewing. Preview callback is registered when an user adds a callback explicitly to avoid useless P/Invoke.
Declaration
public event EventHandler<PreviewEventArgs> Preview
Event Type
Type | Description |
---|---|
System.EventHandler<TEventArgs><PreviewEventArgs> |
StateChanged
An event that occurs when the camera state is changed.
Declaration
public event EventHandler<CameraStateChangedEventArgs> StateChanged
Event Type
Type | Description |
---|---|
System.EventHandler<TEventArgs><CameraStateChangedEventArgs> |