From 98501296594665c9ae9bb3c81f259eebabb5a052 Mon Sep 17 00:00:00 2001 From: nikhilraut Date: Thu, 3 Feb 2022 10:38:27 +0530 Subject: [PATCH] Camera JS apis Signed-off-by: nikhilraut --- .../reference/apis/js-apis-camera.md | 2004 +++++++++++++++++ 1 file changed, 2004 insertions(+) create mode 100644 en/application-dev/reference/apis/js-apis-camera.md diff --git a/en/application-dev/reference/apis/js-apis-camera.md b/en/application-dev/reference/apis/js-apis-camera.md new file mode 100644 index 0000000000..a6518d5d15 --- /dev/null +++ b/en/application-dev/reference/apis/js-apis-camera.md @@ -0,0 +1,2004 @@ +# Camera + +## Modules to Import + +``` +import camera from '@ohos.multimedia.camera'; +``` + +## Required Permissions + +``` +ohos.permission.CAMERA +``` +## getCameraManager(context: Context, callback: AsyncCallback): void; + +Gets a **CameraManager** instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|-------------------------------|-----------|-----------------------------------------------------| +| context | Context | Yes | Application context | +| callback | AsyncCallback | Yes | Callback used to return the CameraManager instance | + + +**Return values** + +none + +**Example** + +``` +camera.getCameraManager(context, (err, cameraManager) => { + if (err) { + console.error('Failed to get the CameraManager instance ${err.message}'); + return; + } + console.log('Callback returned with the CameraManager instance'); +}); +``` + +## getCameraManager(context: Context): Promise; + +Gets a **CameraManager** instance. This method uses a promise to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|----------------------|-----------|----------------------------| +| context | Context | Yes | Application context | + +**Return values** + +| Type | Description | +|-------------------------|--------------------------------------------------------| +| Promise | Promise used to return the **CameraManager** instance | + +**Example** + +``` +camera.getCameraManager(context).then((cameraManger) => { + console.log('Promise returned with the CameraManager instance.'); +}) +``` + +## CameraStatus + +Enumerates camera status types. + +| Name | Default Value | Description | +|---------------------------|---------------|--------------------| +| CAMERA_STATUS_APPEAR | 0 | Camera appear | +| CAMERA_STATUS_DISAPPEAR | 1 | Camera disappear | +| CAMERA_STATUS_AVAILABLE | 2 | Camera available | +| CAMERA_STATUS_UNAVAILABLE | 3 | Camera unavailable | + + +## CameraPosition + +Enumerates the camera positions. + +| Name | Default value | Description | +|-----------------------------|---------------|-----------------------| +| CAMERA_POSITION_UNSPECIFIED | 0 | Unspecified position | +| CAMERA_POSITION_BACK | 1 | Rear camera | +| CAMERA_POSITION_FRONT | 2 | Front camera | + +## CameraType + +Enumerates the camera types. + +| Name | Default value | Description | +|-------------------------|---------------|-------------------------| +| CAMERA_TYPE_UNSPECIFIED | 0 | Unspecified camera type | +| CAMERA_TYPE_WIDE_ANGLE | 1 | Wide camera | +| CAMERA_TYPE_ULTRA_WIDE | 2 | Ultra wide camera | +| CAMERA_TYPE_TELEPHOTO | 3 | Telephoto camera | +| CAMERA_TYPE_TRUE_DEPTH | 4 | True depth camera | + + +## ConnectionType + +Enumerates camera connection types. + +| Name | Default value | Description | +|------------------------------|---------------|----------------------------| +| CAMERA_CONNECTION_BUILT_IN | 0 | Built-in camera | +| CAMERA_CONNECTION_USB_PLUGIN | 1 | Camera connected using USB | +| CAMERA_CONNECTION_REMOTE | 2 | Remote camera | + + +## CameraFormat + +Enumerates the camera formats. + +| Name | Default value | Description | +|----------------------------|---------------|---------------------| +| CAMERA_FORMAT_YCRCb_420_SP | 1003 | Camera YCRCb | +| CAMERA_FORMAT_JPEG | 2000 | Camera format jpeg | +| CAMERA_FORMAT_AVC | 3000 | Camera format avc | +| CAMERA_FORMAT_HEVC | 3001 | Camera format hevc | + + +## CameraManager + +Implements camera management, including getting supported cameras and creating **CameraInput** instances. + +### getCameras(callback: AsyncCallback\>): void; + +Gets all cameras supported by the device. This method uses an asynchronous callback to return the array of supported cameras. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|--------------------------------|-----------|---------------------------------------------------------| +| callback | AsyncCallback\> | Yes | Callback used to return the array of supported cameras. | + +**Return values** + +none + +**Example** + +``` +cameraManager.getCameras((err, cameras) => { + if (err) { + console.error('Failed to get the cameras. ${err.message}'); + return; + } + console.log('Callback returned with an array of supported cameras: ' + cameras.length); +}) +``` + +### getCameras(): Promise\>; + +Gets all cameras supported by the device. This method uses a promise to return the array of supported cameras. + +**Parameters** + +none + +**Return values** + +| Type | Description | +|------------------------|--------------------------------------------------------| +| Promise\> | Promise used to return an array of supported cameras | + + +**Example** + +``` +cameraManager.getCameras().then((cameraArray) => { + console.log('Promise returned with an array of supported cameras: ' + cameraArray.length); +}) +``` + +### createCameraInput(cameraId: string, callback: AsyncCallback): void; + +Creates a **CameraInput** instance with the specified camera ID. This method uses an asynchronous callback to return the instance. + +**Parameters** + +| Name | Default value | Mandatory | Description | +|----------|------------------------------|-----------|--------------------------------------------------| +| cameraId | string | Yes | Camera ID used to create the instance | +| callback | AsyncCallback | Yes | Callback used to return the CameraInput instance | + +**Return values** + +none + +**Example** + +``` +cameraManager.createCameraInput(cameraId, (err, cameraInput) => { + if (err) { + console.error('Failed to create the CameraInput instance. ${err.message}'); + return; + } + console.log('Callback returned with the CameraInput instance.'); +}) +``` + +### createCameraInput(cameraId: string): Promise; + +Creates a **CameraInput** instance with the specified camera ID. This method uses a promise to return the instance. + +**Parameters** + +| Name | Default value | Mandatory | Description | +|----------|-----------------------------|-----------|------------------------------------------| +| cameraId | string | Yes | Camera ID used to create the instance | + +**Return values** + +| Type | Description | +|-------------------------|-------------------------------------------------| +| Promise | Promise used to return the CameraInput instance | + +**Example** + +``` +cameraManager.createCameraInput(cameraId).then((cameraInput) => { + console.log('Promise returned with the CameraInput instance'); +}) +``` + +### createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback): void; + +Creates a **CameraInput** instance with the specified camera position and camera type. This method uses an asynchronous callback to return the instance. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------------|----------------------------|-----------|---------------------------------------------------| +| cameraPosition | CameraPosition | Yes | Camera position | +| cameraType | CameraType | Yes | Camera type | +| callback | AsyncCallback | Yes | Callback used to return the CameraInput instance | + +**Return values** + +none + +**Example** + +``` +cameraManager.createCameraInput(cameraPosition, cameraType, (err, cameraInput) => { + if (err) { + console.error('Failed to create the CameraInput instance. ${err.message}'); + return; + } + console.log('Callback returned with the CameraInput instance'); +}) +``` + +### createCameraInput(position: CameraPosition, type: CameraType): Promise; + +Creates a **CameraInput** instance with the specified camera position and camera type. This method uses a promise to return the instance. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------------|----------------------------|-----------|----------------------------------------| +| cameraPosition | CameraPosition | Yes | Camera position | +| cameraType | CameraType | Yes | Camera type | + +**Return values** + +| Type | Description | +|-------------------------|-------------------------------------------------| +| Promise | Promise used to return the CameraInput instance | + +**Example** + +``` +cameraManager.createCameraInput(cameraPosition, cameraType).then((cameraInput) => { + console.log('Promise returned with the CameraInput instance.'); +}) +``` + +## Camera + +Camera class. + +**Fields** + +| Name | Type | Access | Description | +|----------------|----------------|----------|------------------------| +| cameraId | string | readonly | Camera ID | +| cameraPosition | cameraPosition | readonly | Camera position | +| cameraType | cameraType | readonly | Camera type | +| connectionType | connectionType | readonly | Camera connection type | + +``` +var cameraManager = await camera.getCameraManager(); +var cameras = await cameraManager.getCameras(); +var cameraObj = cameras[0]; +var cameraId = cameraObj.cameraId; +var cameraPosition = cameraObj.cameraPosition; +var cameraType = cameraObj.cameraType; +var cameraId = cameraObj.connectionType; + +``` + +## CameraInput + +Implements a **CameraInput** instance. + +### getCameraId(callback: AsyncCallback\): void; + +Gets the camera ID based on which this **CameraInput** instance is created. This method uses an asynchronous callback to return the camera ID. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|------------------------|-----------|---------------------------------------| +| callback | AsyncCallback | Yes | Callback used to return the camera ID | + +**Return values** + +none + +``` +cameraInput.getCameraId((err, cameraId) => { + if (err) { + console.error('Failed to get the camera ID. ${err.message}'); + return; + } + console.log('Callback returned with the camera ID: ' + cameraId); +}) +``` + +### getCameraId(): Promise; + +Gets the camera ID based on which this **CameraInput** instance is created. This method uses a promise to return the camera ID. + +**Parameters** + +none + +**Return values** + +| Type | Description | +|------------------------|--------------------------------------| +| Promise | Promise used to return the camera ID | + +**Example** + +``` +cameraInput.getCameraId().then((cameraId) => { + console.log('Promise returned with the camera ID:' + cameraId); +}) +``` + +### getSupportedSizes\(format: CameraFormat, callback: AsyncCallback\>\): void; + +Gets supported sizes for a given format. This method uses an asynchronous callback to return the supported sizes. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|------------------------------|-----------|---------------------------------------------| +| format | CameraFormat | Yes | Camera format used to get supported sizes | +| callback | AsyncCallback\> | Yes | Callback used to return the supported sizes | + + +**Return values** + +none + +**Example** + +``` +cameraInput.getSupportedSizes(format, (err, sizes) => { + if (err) { + console.error('Failed to get the supported sizes. ${err.message}'); + return; + } + console.log('Callback returned with the supported sizes:' + sizes); +}) +``` + +### getSupportedSizes\(format: CameraFormat\): Promise\>; + +Gets supported sizes for a given format. This method uses a promise to return the supported sizes. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|----------------------------|-----------|-----------------------------------------------| +| format | CameraFormat | Yes | Camera format used to get the supported sizes | + +**Return values** + +| Type | Description | +|------------------------|---------------------------------------------| +| Promise\> | Promise used to return the supported sizes. | + +**Example** + +``` +cameraInput.getSupportedSizes(format).then((sizes) => { + console.log('Promise returned with supported sizes: ' + sizes); +}) +``` + +### getSupportedPreviewFormats\(callback: AsyncCallback\>\): void; + +Gets supported formats for preview. This method uses an asynchronous callback to return the supported formats. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|--------------------------------------|-----------|---------------------------------------------------| +| callback | AsyncCallback\> | Yes | Callback used to return the supported preview formats. | + + +**Return values** + +none + +**Example** + +``` +cameraInput.getSupportedPreviewFormats((err, previewFormats) => { + if (err) { + console.error('Failed to get the supported preview formats. ${err.message}'); + return; + } + console.log('Callback returned with supported preview formats: ' + previewFormats.length); +}) +``` + + +### getSupportedPreviewFormats\(\): Promise\>; + +Gets supported formats for preview. This method uses a promise to return the supported formats. + +**Parameters** + +none + +**Return values** + +| Type | Description | +|--------------------------------|-------------------------------------------------------| +| Promise\> | Promise used to return the supported preview formats | + +**Example** + +``` +cameraInput.getSupportedPreviewFormats().then((previewFormats) => { + console.log('Promise returned with supported preview formats.' + previewFormats.length); +}) +``` + +### getSupportedPhotoFormats\(callback: AsyncCallback\>\): void; + +Gets supported formats for photographing. This method uses an asynchronous callback to return the supported formats. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|--------------------------------------|-----------|-------------------------------------------------| +| callback | AsyncCallback\> | Yes | Callback used to return the supported photo formats. | + +**Return values** + +none + +**Example** + +``` +cameraInput.getSupportedPhotoFormats((err, photoFormats) => { + if (err) { + console.error('Failed to get the supported photo formats. ${err.message}'); + return; + } + console.log('Callback returned with supported photo formats'); +}) +``` + +### getSupportedPhotoFormats\(\): Promise\>; + +Gets supported formats for photographing. This method uses a promise to return the supported formats. + +**Parameters** + +none + +**Return values** + +| Type | Description | +|--------------------------------|---------------------------------------------------| +| Promise\> | Promise used to return supported photo formats. | + +**Example** + +``` +cameraInput.getSupportedPhotoFormats().then((photoFormats) => { + console.log('Promise returned with supported photo formats.' + photoFormats.length); +}) +``` + +### getSupportedVideoFormats\(callback: AsyncCallback\>\): void; + +Gets supported formats for video recording. This method uses an asynchronous callback to return the supported video formats. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|--------------------------------------|-----------|-------------------------------------------------| +| callback | AsyncCallback\> | Yes | Callback used to return the supported video formats. | + +**Return values** + +none + +**Example** + +``` +cameraInput.getSupportedVideoFormats((err, videoFormats) => { + if (err) { + console.error('Failed to get the supported video formats. ${err.message}'); + return; + } + console.log('Callback returned with supported video formats : ' + videoFormats.length); +}) +``` + +### getSupportedVideoFormats\(\): Promise\>; + +Gets supported formats for video recording. This method uses a promise to return the supported video format. + +**Parameters** + +none + +**Return values** + +| Type | Description | +|--------------------------------|---------------------------------------------------| +| Promise\> | Promise used to return supported video formats. | + +**Example** + +``` +cameraInput.getSupportedVideoFormats().then((videoFormats) => { + console.log('Promise returned with supported video formats.' + videoFormats.length); +}) +``` + +### hasFlash(callback: AsyncCallback): void; + +Checks whether the device has flash light. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|-------------------------|-----------|----------------------------------------------------| +| callback | AsyncCallback | Yes | Callback used to return the flash light support status | + +**Return values** + +none + +**Example** + +``` +cameraInput.hasFlash((err, status) => { + if (err) { + console.error('Failed to check whether the device has flash light. ${err.message}'); + return; + } + console.log('Callback returned with flash light support status: ' + status); +}) +``` + +### hasFlash(): Promise; + +Checks whether the device has flash light. This method uses a promise to return the result. + +**Parameters** + +none + +**Return values** + +| Type | Description | +|-----------------------|--------------------------------------------------------| +| Promise | Promise used to return the flash light support status | + +**Example** + +``` +cameraInput.hasFlash().then((status) => { + console.log('Promise returned with the flash light support status:' + status); +}) +``` + +### isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback): void; + +Checks whether a specified flash mode is supported. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|-----------|------------------------|-----------|----------------------------------------------------| +| flashMode | FlashMode | Yes | Flash mode | +| callback | AsyncCallback | Yes | Callback used to return the device flash support status | + +**Return values** + +none + +**Example** + +``` +cameraInput.isFlashModeSupported(flashMode, (err, status) => { + if (err) { + console.error('Failed to check whether the flash mode is supported. ${err.message}'); + return; + } + console.log('Callback returned with the flash mode support status: ' + status); +}) +``` + +### isFlashModeSupported(flashMode: FlashMode): Promise; + +Checks whether a specified flash mode is supported. This method uses a promise to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|-----------|------------------------|-----------|----------------------------------------------------| +| flashMode | FlashMode | Yes | Flash mode | + +**Return values** + +| Type | Description | +|-----------------------|---------------------------------------------------| +| Promise | Promise used to return flash mode support status. | + +**Example** + +``` +cameraInput.isFlashModeSupported(flashMode).then((status) => { + console.log('Promise returned with flash mode support status.' + status); +}) +``` + +### setFlashMode(flashMode: FlashMode, callback: AsyncCallback): void; + +Sets flash mode. This method uses an asynchronous callback to return the result. + +Note: Before setting the flash mode, check the support for the flash light (hasFlash method) and flash mode support (isFlashModeSupported method); + +**Parameters** + +| Name | Type | Mandatory | Description | +|-----------|------------------------|-----------|----------------------------------------------------| +| flashMode | FlashMode | Yes | Flash mode | +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +cameraInput.setFlashMode(flashMode, (err) => { + if (err) { + console.error('Failed to set the flash mode ${err.message}'); + return; + } + console.log('Callback returned with the successful execution of setFlashMode.'); +}) +``` + +### setFlashMode(flashMode: FlashMode): Promise; + +Sets flash mode. This method uses a promise to return the result. + +Note: Before setting the flash mode, check the support for the flash light (hasFlash method) and flash mode support (isFlashModeSupported method); + +**Parameters** + +| Name | Type | Mandatory | Description | +|-----------|------------------------|-----------|----------------------------------------------------| +| flashMode | FlashMode | Yes | Flash mode | + +**Return values** + +| Type | Description | +|-----------------------|-----------------------------------------| +| Promise | Promise used to return the result | + +**Example** + +``` +cameraInput.setFlashMode(flashMode).then() => { + console.log('Promise returned with the successful execution of setFlashMode.'); +}) +``` + +### getFlashMode(callback: AsyncCallback): void; + +Gets current flash mode. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|-----------|---------------------------|-----------|------------------------------------------------| +| callback | AsyncCallback | Yes | Callback used to return the current flash mode | + +**Return values** + +none + +**Example** + +``` +cameraInput.getFlashMode((err, flashMode) => { + if (err) { + console.error('Failed to get the flash mode ${err.message}'); + return; + } + console.log('Callback returned with current flash mode: ' + flashMode); +}) +``` + +### getFlashMode(): Promise; + +Gets current flash mode. This method uses a promise to return the result. + +**Parameters** + +none + +**Return values** + +| Type | Description | +|-----------------------|---------------------------------------------------| +| Promise | Promise used to return the flash mode | + +**Example** + +``` +cameraInput.getFlashMode().then(flashMode) => { + console.log('Promise returned with current flash mode : ' + flashMode); +}) +``` + +## FlashMode + +Enumerates the flash modes. + +| Name | Default value | Description | +|------------------------|---------------|------------------------| +| FLASH_MODE_CLOSE | 0 | Flash mode close | +| FLASH_MODE_OPEN | 1 | Flash mode open | +| FLASH_MODE_AUTO | 2 | Flash mode auto | +| FLASH_MODE_ALWAYS_OPEN | 3 | Flash mode always open | + + +## createCaptureSession\(context: Context, callback: AsyncCallback\): void; + +Creates a **CaptureSession** instance. This method uses an asynchronous callback to return the instance. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|--------------------------------|-----------|-----------------------------------------------------| +| context | Context | Yes | Application context | +| callback | AsyncCallback | Yes | Callback used to return the CaptureSession instance | + +**Return values** + +none + +**Example** + +``` +camera.createCaptureSession(context), (err, captureSession) => { + if (err) { + console.error('Failed to create the CaptureSession instance. ${err.message}'); + return; + } + console.log('Callback returned with the CaptureSession instance.' + captureSession); +}); +``` + +## createCaptureSession(context: Context\): Promise; + +Creates a **CaptureSession** instance. This method uses a promise to return the instance. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|-------------------------------|-----------|-----------------------------------------------------| +| context | Context | Yes | Application context | + +**Return values** + +| Type | Description | +|---------------------------|---------------------------------------------------| +| Promise | Promise used to return the CaptureSession instance. | + +**Example** + +``` +camera.createCaptureSession(context).then((captureSession) => { + console.log('Promise returned with the CaptureSession instance'); +}) +``` + +## CaptureSession + +Implements session capture. + +### beginConfig\(callback: AsyncCallback\): void; + +Starts configuration for this CaptureSession instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|----------------------|-----------|----------------------------------------------| +| callback | AsyncCallback | Yes | Callback used to return the result | + + +**Return values** + +none + +**Example** + +``` +camera.beginConfig((err) => { + if (err) { + console.error('Failed to start the configuration. ${err.message}'); + return; + } + console.log('Callback invoked to indicate the begin config success.'); +}); +``` + +### beginConfig\(\): Promise; + +Starts configuration for this CaptureSession instance. This method uses a promise to return the result. + +**Parameters** + +none + +**Return values** + +| Type | Description | +|---------------|---------------------------------------------| +| Promise | Promise used to return the result | + + +**Example** + +``` +camera.beginConfig().then(() => { + console.log('Promise returned to indicate the begin config success.'); +}) +``` + +### commitConfig\(callback: AsyncCallback\): void; + +Commits the configuration for this CaptureSession instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|---------------------|-----------|----------------------------------------------| +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +camera.commitConfig((err) => { + if (err) { + console.error('Failed to commit the configuration. ${err.message}'); + return; + } + console.log('Callback invoked to indicate the commit config success.'); +}); +``` + + +### commitConfig\(\): Promise; + +Commits the configuration for this CaptureSession instance. This method uses a promise to return the result. + +**Parameters** + +none + +**Return values** + +| Type | Description | +|---------------|---------------------------------------------| +| Promise | Promise used to return the result | + +**Example** + +``` +camera.commitConfig().then(() => { + console.log('Promise returned to indicate the commit config success.'); +}) +``` + +### addInput\(cameraInput: CameraInput, callback: AsyncCallback\): void; + +Add a CameraInput instance to this CaptureSession instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|-------------|----------------------|-----------|---------------------------------------------| +| cameraInput | CameraInput | Yes | CameraInput instance to add | +| callback | AsyncCallback | Yes | Callback used to return the result | + + +**Return values** + +none + +**Example** + +``` +camera.addInput(cameraInput, (err) => { + if (err) { + console.error('Failed to add the CameraInput instance. ${err.message}'); + return; + } + console.log('Callback invoked to indicate that the CameraInput instance is added.'); +}); +``` + +### addInput\(cameraInput: CameraInput\): Promise; + +Add a CameraInput instance to this CaptureSession instance. This method uses a promise to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|-------------|---------------------|-----------|-------------------------------| +| cameraInput | CameraInput | Yes | CameraInput instance to add | + +**Return values** + +| Type | Description | +|----------------|------------------------------------| +| Promise | Promise used to return the result | + +**Example** + +``` +camera.addInput(cameraInput).then(() => { + console.log('Promise used to indicate that the CameraInput instance is added.'); +}) +``` + +### addOutput\(previewOutput: PreviewOutput, callback: AsyncCallback\): void; + +Add a PreviewOutput instance to this CaptureSession instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|---------------|----------------------|-----------|-------------------------------------| +| previewOutput | PreviewOutput | Yes | PreviewOutput instance to add | +| callback | AsyncCallback | Yes | Callback used to return the result | + + +**Return values** + +none + +**Example** + +``` +camera.addOutput(previewOutput, (err) => { + if (err) { + console.error('Failed to add the PreviewOutput instance ${err.message}'); + return; + } + console.log('Callback invoked to indicate that the PreviewOutput instance is added.'); +}); +``` + +### addOutput\(previewOutput: PreviewOutput\): Promise; + +Add a PreviewOutput instance to this CaptureSession instance. This method uses a promise to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|---------------|---------------------|-----------|--------------------------------| +| previewOutput | PreviewOutput | Yes | PreviewOutput instance to add | + +**Return values** + +| Type | Description | +|----------------|-----------------------------------| +| Promise | Promise used to return the result | + +**Example** + +``` +camera.addOutput(previewOutput).then(() => { + console.log('Promise used to indicate that the PreviewOutput instance is added.'); +}) +``` + +### addOutput\(photoOutput: PhotoOutput, callback: AsyncCallback\): void; + +Add a PhotoOutput instance to this CaptureSession instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|---------------|---------------------|-----------|-------------------------------------| +| photoOutput | PhotoOutput | Yes | PhotoOutput instance to add | +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +camera.addOutput(photoOutput, (err) => { + if (err) { + console.error('Failed to add the PhotoOutput instance ${err.message}'); + return; + } + console.log('Callback invoked to indicate that the PhotoOutput instance is added.'); +}); +``` + +### addOutput\(photoOutput: PhotoOutput\): Promise; + +Add a PhotoOutput instance to this CaptureSession instance. This method uses a promise to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|---------------|---------------------|-----------|--------------------------------| +| photoOutput | PhotoOutput | Yes | PhotoOutput instance to add | + +**Return values** + +| Type | Description | +|---------------|-----------------------------------| +| Promise | Promise used to return the result | + +**Example** + +``` +camera.addOutput(photoOutput).then(() => { + console.log('Promise used to indicate that the PhotoOutput instance is added.'); +}) +``` + +### addOutput\(videoOutput: VideoOutput, callback: AsyncCallback\): void; + +Add a VideoOutput instance to this CaptureSession instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|---------------|---------------------|-----------|-------------------------------------| +| videoOutput | VideoOutput | Yes | VideoOutput instance to add | +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +camera.addOutput(videoOutput, (err) => { + if (err) { + console.error('Failed to add the VideoOutput instance ${err.message}'); + return; + } + console.log('Callback invoked to indicate that the VideoOutput instance is added.'); +}); +``` + +### addOutput\(videoOutput: VideoOutput\): Promise; + +Add a VideoOutput instance to this CaptureSession instance. This method uses a promise to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|---------------|---------------------|-----------|--------------------------------| +| videoOutput | VideoOutput | Yes | VideoOutput instance to add | + +**Return values** + +| Type | Description | +|----------------|-----------------------------------| +| Promise | Promise used to return the result | + +**Example** + +``` +camera.addOutput(videoOutput).then(() => { + console.log('Promise used to indicate that the VideoOutput instance is added.'); +}) +``` + +### removeInput\(cameraInput: CameraInput, callback: AsyncCallback\): void; + +Removes a **CameraInput** instance from this **CaptureSession** instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|-------------|----------------------|-----------|------------------------------------| +| cameraInput | CameraInput | Yes | CameraInput instance to remove | +| callback | AsyncCallback | Yes | Callback used to return the result | + + +**Return values** + +none + +**Example** + +``` +camera.removeInput(cameraInput, (err) => { + if (err) { + console.error('Failed to remove the CameraInput instance. ${err.message}'); + return; + } + console.log('Callback invoked to indicate that the cameraInput instance is removed.'); +}); +``` + +### removeInput\(cameraInput: CameraInput\): Promise; + +Removes a **CameraInput** instance from this **CaptureSession** instance. This method uses a promise to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|-------------|---------------------|-----------|---------------------------------| +| cameraInput | CameraInput | Yes | CameraInput instance to remove | + +**Return values** + +| Type | Description | +|----------------|-----------------------------------| +| Promise | Promise used to return the result | + +**Example** + +``` +camera.removeInput(cameraInput).then(() => { + console.log('Promise returned to indicate that the cameraInput instance is removed.'); +}) +``` + +### removeOutput\(previewOutput: PreviewOutput, callback: AsyncCallback\): void; + +Removes a **PreviewOutput** instance from this **CaptureSession** instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|---------------|----------------------|-----------|------------------------------------| +| previewOutput | PreviewOutput | Yes | PreviewOutput instance to remove | +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +camera.removeOutput(previewOutput, (err) => { + if (err) { + console.error('Failed to remove the PreviewOutput instance. ${err.message}'); + return; + } + console.log('Callback invoked to indicate that the PreviewOutput instance is removed.'); +}); +``` + +### removeOutput(previewOutput: PreviewOutput): Promise; + +Removes a **PreviewOutput** instance from this **CaptureSession** instance. This method uses a promise to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|---------------|---------------------|-----------|-----------------------------------| +| previewOutput | PreviewOutput | Yes | PreviewOutput instance to remove | + + +**Return values** + +| Type | Description | +|---------------|---------------------------------------------| +| Promise | Promise used to return the result | + + +**Example** + +``` +camera.removeOutput(previewOutput).then(() => { + console.log('Promise returned to indicate that the PreviewOutput instance is removed.'); +}) +``` + +### removeOutput(photoOutput: PhotoOutput, callback: AsyncCallback): void; + +Removes a **PhotoOutput** instance from this **CaptureSession** instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|---------------|----------------------|-----------|------------------------------------| +| photoOutput | PhotoOutput | Yes | PhotoOutput instance to remove | +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +camera.removeOutput(photoOutput, (err) => { + if (err) { + console.error('Failed to remove the PhotoOutput instance. ${err.message}'); + return; + } + console.log('Callback invoked to indicate that the PhotoOutput instance is removed.'); +}); +``` + +### removeOutput(photoOutput: PhotoOutput): Promise; + +Removes a **PhotoOutput** instance from this **CaptureSession** instance. This method uses a promise to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|---------------|---------------------|-----------|---------------------------------| +| photoOutput | PhotoOutput | Yes | PhotoOutput instance to remove | + + +**Return values** + +| Type | Description | +|---------------|------------------------------------| +| Promise | Promise used to return the result | + + +**Example** + +``` +camera.removeOutput(photoOutput).then(() => { + console.log('Promise returned to indicate that the PhotoOutput instance is removed.'); +}) +``` + +### removeOutput(videoOutput: VideoOutput, callback: AsyncCallback): void; + +Removes a **VideoOutput** instance from this **CaptureSession** instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|---------------|----------------------|-----------|------------------------------------| +| videoOutput | VideoOutput | Yes | VideoOutput instance to remove | +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +camera.removeOutput(videoOutput, (err) => { + if (err) { + console.error('Failed to remove the VideoOutput instance. ${err.message}'); + return; + } + console.log('Callback invoked to indicate that the VideoOutput instance is removed.'); +}); +``` + +### removeOutput(videoOutput: VideoOutput): Promise; + +Removes a **VideoOutput** instance from this **CaptureSession** instance. This method uses a promise to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|---------------|---------------------|-----------|---------------------------------| +| videoOutput | VideoOutput | Yes | VideoOutput instance to remove | + + +**Return values** + +| Type | Description | +|----------------|---------------------------------------------| +| Promise | Promise used to return the result | + + +**Example** + +``` +camera.removeOutput(videoOutput).then(() => { + console.log('Promise returned to indicate that the VideoOutput instance is removed.'); +}) +``` + +### start\(callback: AsyncCallback\): void; + +Starts this **CaptureSession** instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|----------------------|-----------|----------------------------------------------| +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +camera.start((err) => { + if (err) { + console.error('Failed to start the session ${err.message}'); + return; + } + console.log('Callback invoked to indicate the session start success.'); +}); +``` + +### start\(\): Promise; + +Starts this **CaptureSession** instance. This method uses a promise to return the result. + +**Parameters** + +none + +**Return values** + +| Type | Description | +|----------------|-----------------------------------| +| Promise | Promise used to return the result | + +**Example** + +``` +camera.start().then(() => { + console.log('Promise returned to indicate the session start success.'); +}) +``` + +### stop\(callback: AsyncCallback\): void; + +Stops this **CaptureSession** instance. This method uses an asynchronous callback to return the result. + +**Parameters** + + +| Name | Type | Mandatory | Description | +|----------|----------------------|-----------|------------------------------------| +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +camera.stop((err) => { + if (err) { + console.error('Failed to stop the session ${err.message}'); + return; + } + console.log('Callback invoked to indicate the session stop success.'); +}); +``` + + +### stop(): Promise; + +Stops this **CaptureSession** instance. This method uses a promise to return the result. + +**Parameters** + +none + +**Return values** + +| Type | Description | +|----------------|-----------------------------------| +| Promise | Promise used to return the result | + +**Example** + +``` +camera.stop().then(() => { + console.log('Promise returned to indicate the session stop success.'); +}) +``` + +### release\(callback: AsyncCallback\): void; + +Releases this **CaptureSession** instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|----------------------|-----------|------------------------------------| +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +camera.release((err) => { + if (err) { + console.error('Failed to release the CaptureSession instance ${err.message}'); + return; + } + console.log('Callback invoked to indicate that the CaptureSession instance is released successfully.'); +}); +``` + +### release(): Promise; + +Releases this **CaptureSession** instance. This method uses a promise to return the result. + +**Parameters** + +none + +**Return values** + +| Type | Description | +|----------------|---------------------------------------------| +| Promise | Promise used to return the result | + +**Example** + +``` +camera.release().then(() => { + console.log('Promise returned to indicate that the CaptureSession instance is released successfully.'); +}) +``` + +## createPreviewOutput(surfaceId: string, callback: AsyncCallback): void; + +Creates a **PreviewOutput** instance. This method uses an asynchronous callback to return the instance. + +**Parameters** + +| Name | Type | Mandatory | Description | +|------------|-------------------------------|-----------|----------------------------------------------------| +| surfaceId | string | Yes | Surface ID received from XComponent view | +| callback | AsyncCallback | Yes | Callback used to return the PreviewOutput instance | + +**Return values** + +none + +**Example** + +``` +camera.createPreviewOutput(surfaceId), (err, previewOutput) => { + if (err) { + console.error('Failed to create the PreviewOutput instance. ${err.message}'); + return; + } + console.log('Callback returned with previewOutput instance'); +}); +``` + +## createPreviewOutput(surfaceId: string): Promise; + +Creates a **PreviewOutput** instance. This method uses a promise to return the instance. + +**Parameters** + +| Name | Type | Mandatory | Description | +|------------|-----------------|-----------|----------------------------------------------------| +| surfaceId | string | Yes | Surface ID received from XComponent view | + +**Return values** + +| Type | Description | +|-------------------------|---------------------------------------------------| +| Promise | Promise used to return the PreviewOutput instance | + +**Example** + +``` +camera.createPreviewOutput(surfaceId).then((previewOutput) => { + console.log('Promise returned with the PreviewOutput instance'); +}) +``` + +## PreviewOutput + +Implements preview output. + +### release(callback: AsyncCallback): void; + +Releases this **PreviewOutput** instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|----------------------|-----------|----------------------------------------------| +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +previewOutput.release((err) => { + if (err) { + console.error('Failed to release the PreviewOutput instance ${err.message}'); + return; + } + console.log('Callback invoked to indicate that the PreviewOutput instance is released successfully.'); +}); +``` + +### release(): Promise; + +Releases this **PreviewOutput** instance. This method uses a promise to return the result. + +**Parameters** +none + +**Return values** + +| Type | Description | +|----------------|-----------------------------------| +| Promise | Promise used to return the result | + + +**Example** + +``` +previewOutput.release().then(() => { + console.log('Promise returned to indicate that the PreviewOutput instance is released successfully.'); +}) +``` + +## createPhotoOutput(surfaceId: string, callback: AsyncCallback): void; + +Creates a **PhotoOutput** instance. This method uses an asynchronous callback to return the instance. + +**Parameters** + +| Name | Type | Mandatory | Description | +|------------|-------------------------------|-----------|----------------------------------------------------| +| surfaceId | string | Yes | Surface ID received from ImageReceiver | +| callback | AsyncCallback | Yes | Callback used to return the PhotoOutput instance | + +**Return values** + +none + +**Example** + +``` +camera.createPhotoOutput(surfaceId), (err, photoOutput) => { + if (err) { + console.error('Failed to create the PhotoOutput instance. ${err.message}'); + return; + } + console.log('Callback returned with the PhotoOutput instance.'); +}); +``` + +## createPhotoOutput(surfaceId: string): Promise; + +Creates a **PhotoOutput** instance. This method uses a promise to return the PhotoOutput instance. + +**Parameters** + +| Name | Type | Mandatory | Description | +|------------|-----------------|-----------|----------------------------------------------------| +| surfaceId | string | Yes | Surface ID received from ImageReceiver | + +**Return values** + +| Type | Description | +|-------------------------|--------------------------------------------------| +| Promise | Promise used to return the PhotoOutput instance | + +**Example** + +``` +camera.createPhotoOutput(surfaceId).then((photoOutput) => { + console.log('Promise returned with PhotoOutput instance'); +}) +``` +## ImageRotation + +Enumerates the image rotation angles. + +| Name | Default Value | Description | +|--------------|---------------|----------------------------------------| +| ROTATION_0 | 0 | The capture image rotates 0 degrees. | +| ROTATION_90 | 90 | The capture image rotates 90 degrees. | +| ROTATION_180 | 180 | The capture image rotates 180 degrees. | +| ROTATION_270 | 270 | The capture image rotates 270 degrees. | + + +## Location + +Defines the location of a captured image. + +| Name | Type | Access | Description | +|-----------|--------|--------------|-------------| +| latitude | number | read / write | Latitude | +| longitude | number | read / write | Longitude | + +## QualityLevel + +Enumerates the image quality levels. + +| Name | Default value | Description | +|----------------------|---------------|----------------------| +| QUALITY_LEVEL_HIGH | 0 | High image quality | +| QUALITY_LEVEL_MEDIUM | 1 | Medium image quality | +| QUALITY_LEVEL_LOW | 2 | Low image quality | + + +## PhotoCaptureSetting + +Defines the settings for image capture. + +| Name | Type | Mandatory | Description | +|----------|---------------|-----------|---------------------| +| quality | QualityLevel | Optional | Photo image quality | +| rotation | ImageRotation | Optional | Photo rotation | +| location | Location | Optional | Photo location | +| mirror | boolean | Optional | Mirror mode | + + +## PhotoOutput + +Implements photo output. + +### capture(callback: AsyncCallback): void; + +Captures a photo. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|---------------------|-----------|----------------------------------------------| +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +photoOutput.capture((err) => { + if (err) { + console.error('Failed to capture the photo ${err.message}'); + return; + } + console.log('Callback invoked to indicate the photo capture request success.'); +}); +``` + +### capture(setting: PhotoCaptureSetting, callback: AsyncCallback): void; + +Captures a photo with the specified capture settings. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|----------------------|-----------|----------------------------------------------| +| setting | PhotoCaptureSetting | Yes | Photo capture settings | +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +photoOutput.capture(settings, (err) => { + if (err) { + console.error('Failed to capture the photo ${err.message}'); + return; + } + console.log('Callback invoked to indicate the photo capture request success.'); +}); +``` + +### capture(setting?: PhotoCaptureSetting): Promise; + +Captures a photo with the specified capture settings. This method uses a promise to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|---------------------|-----------|----------------------------------------------| +| setting | PhotoCaptureSetting | No | Photo capture settings | + +**Return values** + +| Type | Description | +|----------------|---------------------------------------------| +| Promise | Promise used to return the result | + + +**Example** + +``` +photoOutput.capture().then(() => { + console.log('Promise returned to indicate that photo capture request success.'); +}) +``` + +### release(callback: AsyncCallback): void; + +Releases this **PhotoOutput** instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|----------------------|-----------|----------------------------------------------| +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +photoOutput.release((err) => { + if (err) { + console.error('Failed to release the PhotoOutput instance ${err.message}'); + return; + } + console.log('Callback invoked to indicate that the PhotoOutput instance is released successfully.'); +}); +``` + +### release(): Promise; + +Releases this **PhotoOutput** instance. This method uses a promise to return the result. + +**Parameters** +none + +**Return values** + +| Type | Description | +|----------------|---------------------------------------------| +| Promise | Promise used to return the result | + + +**Example** + +``` +photoOutput.release().then(() => { + console.log('Promise returned to indicate that the PhotoOutput instance is released successfully.'); +}) +``` + +## createVideoOutput(surfaceId: string, callback: AsyncCallback): void; + +Creates a **VideoOutput** instance. This method uses an asynchronous callback to return the instance. + +**Parameters** + +| Name | Type | Mandatory | Description | +|------------|-------------------------------|-----------|----------------------------------------------------| +| surfaceId | string | Yes | Surface ID received from VideoRecorder | +| callback | AsyncCallback | Yes | Callback used to return the VideoOutput instance | + +**Return values** + +none + +**Example** + +``` +camera.createVideoOutput(surfaceId), (err, videoOutput) => { + if (err) { + console.error('Failed to create the VideoOutput instance. ${err.message}'); + return; + } + console.log('Callback returned with the VideoOutput instance'); +}); +``` + +## createVideoOutput(surfaceId: string): Promise; + +Creates a **VideoOutput** instance. This method uses a promise to return the VideoOutput instance. + +**Parameters** + +| Name | Type | Mandatory | Description | +|------------|-----------------|-----------|----------------------------------------------------| +| surfaceId | string | Yes | Surface ID received from VideoRecorder | + +**Return values** + +| Type | Description | +|-------------------------|-------------------------------------------------| +| Promise | Promise used to return the VideoOutput instance | + +**Example** + +``` +camera.createVideoOutput(surfaceId).then((videoOutput) => { + console.log('Promise returned with the VideoOutput instance'); +}) +``` + +### start(callback: AsyncCallback): void; + +Starts the video output. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|----------------------|-----------|----------------------------------------------| +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +videoOutput.start((err) => { + if (err) { + console.error('Failed to start the video output ${err.message}'); + return; + } + console.log('Callback invoked to indicate the video output start success.'); +}); +``` + +### start(): Promise; + +Starts the video output. This method uses a promise to return the result. + +**Parameters** +none + +**Return values** + +| Type | Description | +|----------------|---------------------------------------------| +| Promise | Promise used to return the result | + + +**Example** + +``` +videoOutput.start().then(() => { + console.log('Promise returned to indicate that start method execution success.'); +}) +``` + +### stop(callback: AsyncCallback): void; + +Stops the video output. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|----------------------|-----------|----------------------------------------------| +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +videoOutput.stop((err) => { + if (err) { + console.error('Failed to stop the video output ${err.message}'); + return; + } + console.log('Callback invoked to indicate the video output stop success.'); +}); +``` + +### stop(): Promise; + +Stops the video output. This method uses a promise to return the result. + +**Parameters** +none + +**Return values** + +| Type | Description | +|----------------|---------------------------------------------| +| Promise | Promise used to return the result | + +**Example** + +``` +videoOutput.start().then(() => { + console.log('Promise returned to indicate that stop method execution success.'); +}) +``` + +### release(callback: AsyncCallback): void; + +Releases this VideoOutput instance. This method uses an asynchronous callback to return the result. + +**Parameters** + +| Name | Type | Mandatory | Description | +|----------|----------------------|-----------|----------------------------------------------| +| callback | AsyncCallback | Yes | Callback used to return the result | + +**Return values** + +none + +**Example** + +``` +videoOutput.release((err) => { + if (err) { + console.error('Failed to release the VideoOutput instance ${err.message}'); + return; + } + console.log('Callback invoked to indicate that the VideoOutput instance is released successfully.'); +}); +``` + +### release(): Promise; + +Releases this VideoOutput instance. This method uses a promise to return the result. + +**Parameters** + +none + +**Return values** + +| Type | Description | +|----------------|---------------------------------------------| +| Promise | Promise used to return the result | + + +**Example** + +``` +videoOutput.release().then(() => { + console.log('Promise returned to indicate that the VideoOutput instance is released successfully.'); +}) +``` \ No newline at end of file -- GitLab