Advanced Camera Settings

This tutorial gives you information about Advanced Camera Settings.

Purpose

The purpose of this tutorial is to provide detailed descriptions of various advanced settings of Camera.

Introduction

Every individual camera setting is identified by a UID to facilitate integration in the camera messaging mechanism. Each change of a parameter value causes an event notification containing the UID of the setting to be sent to all MCameraObserver2 clients of the camera. If additional information is required, clients would use the related getter function to identify the new value of the setting. Some settings may have a dependency on others. In this respect a particular setting value may disable a related supported setting.

Using Advanced Camera Settings

The Following tasks will be covered in this tutorial:

  • Creating the CCameraAdvancedSettings object

  • Setting Camera Details

  • Operating in stabilization mode

  • Operating in Flash Mode

  • Operating in Focus Mode.

Basic Procedure for Creating the Advance Settings Object

The high level steps to perform specific advance settings are shown here:

  • Create the CCameraAdvancedSettings object.

  • Provide a reference to a CCamera object. This returns a pointer to a fully constructed CCameraAdvancedSettings object.

    CCamera::CCameraAdvancedSettings* CCamera::CCameraAdvancedSettings::NewL.

    Note: Creation of CCameraAdvancedSettings also involves creation of the corresponding M classes; MCameraAdvancedSettings, MCameraAdvancedSettings2, MCameraAdvancedSettings3 and MCameraAdvancedSettings4 derived classes. Licensee provide concrete implementation for these M classes. CCameraAdvancedSettings is a facade which forwards the setting calls to respective M classes methods.

Note: Clients using MCameraObserver are not recommended to use this extension class, since they cannot handle events.

Basic Procedure for Setting Camera Details

The high level steps to set Camera details are shown here:

Basic Procedure for operating in Stabilization Mode

The high level steps to set Camera in stabilization mode are shown here:

Basic Procedure for operating in Flash Mode

The high level steps to set Camera in flash mode are shown here:

When the clients subscribe for PreCaptureWarnings, concrete implementation issues PreCaptureWarnings. CCamera::CCameraAdvancedSettings::SubscribeToPreCaptureWarningL is one such method that is used for subscription.

Subsequent to subscription, if Ecam adaptation identifies any unfavourable conditions prior to image or video capture, it issues the event KUidECamEventCameraSettingPreCaptureWarning. TECAMEvent2 class should be used to provide the status of every PreCaptureWarning.

See also

Overview for the advanced settings of Camera

Advanced Settings for Focus, Drive Modes, and Bracket Modes