diff --git a/api/@ohos.multimedia.camera.d.ts b/api/@ohos.multimedia.camera.d.ts index 7b44188356ded6439fc192a58a6b6991c4363fcd..18c9ad1114e260e8815a209e9f199aff24ac1b89 100644 --- a/api/@ohos.multimedia.camera.d.ts +++ b/api/@ohos.multimedia.camera.d.ts @@ -74,72 +74,6 @@ declare namespace camera { CAMERA_STATUS_UNAVAILABLE } - /** - * Profile for camera streams. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - interface Profile { - /** - * Camera format. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - readonly format: CameraFormat; - /** - * Picture size. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - readonly size: Size; - } - - /** - * Video profile. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - interface VideoProfile extends Profile { - /** - * Frame rate in unit fps (frames per second). - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - readonly frameRate: Array; - } - - /** - * Camera output capability. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - interface CameraOutputCapability { - /** - * Preview profiles. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - readonly previewProfiles: Array; - /** - * Photo profiles. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - readonly photoProfiles: Array; - /** - * Video profiles. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - readonly videoProfiles: Array; - /** - * All the supported metadata Object Types. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - readonly supportedMetadataObjectTypes: Array; - } - /** * Camera manager object. * @since 9 @@ -147,58 +81,40 @@ declare namespace camera { */ interface CameraManager { /** - * Gets supported camera descriptions. + * Gets all camera descriptions. * @param callback Callback used to return the array of supported cameras. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - getSupportedCameras(callback: AsyncCallback>): void; + getCameras(callback: AsyncCallback>): void; /** - * Gets supported camera descriptions. + * Gets all camera descriptions. * @return Promise used to return an array of supported cameras. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - getSupportedCameras(): Promise>; - - /** - * Gets supported output capability for specific camera. - * @param camera Camera device. - * @param callback Callback used to return the camera output capability. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getSupportedOutputCapability(camera: CameraDevice, callback: AsyncCallback): void; - - /** - * Gets supported output capability for specific camera. - * @param camera Camera device. - * @return Promise used to return the camera output capability. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getSupportedOutputCapability(camera: CameraDevice): Promise; + getCameras(): Promise>; /** - * Creates a CameraInput instance by camera. - * @param camera Camera device used to create the instance. + * Creates a CameraInput instance by camera id. + * @param cameraId Camera ID used to create the instance. * @param callback Callback used to return the CameraInput instance. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core * @permission ohos.permission.CAMERA */ - createCameraInput(camera: CameraDevice, callback: AsyncCallback): void; + createCameraInput(cameraId: string, callback: AsyncCallback): void; /** - * Creates a CameraInput instance by camera. - * @param camera Camera device used to create the instance. + * Creates a CameraInput instance by camera id. + * @param cameraId Camera ID used to create the instance. * @return Promise used to return the CameraInput instance. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core * @permission ohos.permission.CAMERA */ - createCameraInput(camera: CameraDevice): Promise; + createCameraInput(cameraId: string): Promise; /** * Creates a CameraInput instance by camera position and type. @@ -222,118 +138,6 @@ declare namespace camera { */ createCameraInput(position: CameraPosition, type: CameraType): Promise; - /** - * Creates a PreviewOutput instance. - * @param profile Preview output profile. - * @param surfaceId Surface object id used in camera photo output. - * @param callback Callback used to return the PreviewOutput instance. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - createPreviewOutput(profile: Profile, surfaceId: string, callback: AsyncCallback): void; - - /** - * Creates a PreviewOutput instance. - * @param profile Preview output profile. - * @param surfaceId Surface object id used in camera photo output. - * @return Promise used to return the PreviewOutput instance. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - createPreviewOutput(profile: Profile, surfaceId: string): Promise; - - /** - * Creates a deferred PreviewOutput instance. - * @param profile Preview output profile. - * @param callback Callback used to return the PreviewOutput instance. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - createDeferredPreviewOutput(profile: Profile, callback: AsyncCallback): void; - - /** - * Creates a deferred PreviewOutput instance. - * @param profile Preview output profile. - * @return Promise used to return the PreviewOutput instance. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - createDeferredPreviewOutput(profile: Profile): Promise; - - /** - * Creates a PhotoOutput instance. - * @param profile Photo output profile. - * @param surfaceId Surface object id used in camera photo output. - * @param callback Callback used to return the PhotoOutput instance. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - createPhotoOutput(profile: Profile, surfaceId: string, callback: AsyncCallback): void; - - /** - * Creates a PhotoOutput instance. - * @param profile Photo output profile. - * @param surfaceId Surface object id used in camera photo output. - * @return Promise used to return the PhotoOutput instance. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - createPhotoOutput(profile: Profile, surfaceId: string): Promise; - - /** - * Creates a VideoOutput instance. - * @param profile Video profile. - * @param surfaceId Surface object id used in camera video output. - * @param callback Callback used to return the VideoOutput instance. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - createVideoOutput(profile: VideoProfile, surfaceId: string, callback: AsyncCallback): void; - - /** - * Creates a VideoOutput instance. - * @param profile Video profile. - * @param surfaceId Surface object id used in camera video output. - * @return Promise used to return the VideoOutput instance. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - createVideoOutput(profile: VideoProfile, surfaceId: string): Promise; - - /** - * Creates a MetadataOutput instance. - * @param metadataObjectTypes Array of MetadataObjectType. - * @param callback Callback used to return the MetadataOutput instance. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - createMetadataOutput(metadataObjectTypes: Array, callback: AsyncCallback): void; - - /** - * Creates a MetadataOutput instance. - * @param metadataObjectTypes Array of MetadataObjectType. - * @return Promise used to return the MetadataOutput instance. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - createMetadataOutput(metadataObjectTypes: Array): Promise; - - /** - * Gets a CaptureSession instance. - * @param callback Callback used to return the CaptureSession instance. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - createCaptureSession(callback: AsyncCallback): void; - - /** - * Gets a CaptureSession instance. - * @return Promise used to return the CaptureSession instance. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - createCaptureSession(): Promise; - /** * Subscribes camera status change event callback. * @param type Event type. @@ -355,7 +159,7 @@ declare namespace camera { * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - camera: CameraDevice; + camera: Camera; /** * Current camera status. * @since 9 @@ -461,11 +265,11 @@ declare namespace camera { } /** - * Camera device object. + * Camera object. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - interface CameraDevice { + interface Camera { /** * Camera id attribute. * @since 9 @@ -513,210 +317,284 @@ declare namespace camera { } /** - * Point parameter. + * Camera input object. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - interface Point { + interface CameraInput { /** - * x co-ordinate + * Gets camera id. + * @param callback Callback used to return the camera ID. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - x: number; + getCameraId(callback: AsyncCallback): void; + /** - * y co-ordinate + * Gets camera id. + * @return Promise used to return the camera ID. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - y: number; - } + getCameraId(): Promise; - /** - * Camera input object. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - interface CameraInput { /** - * Open camera. - * @param callback Callback used to return the result. + * Check if device has flash light. + * @param callback Callback used to return the flash light support status. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - open(callback: AsyncCallback): void; + hasFlash(callback: AsyncCallback): void; /** - * Open camera. - * @return Promise used to return the result. + * Check if device has flash light. + * @return Promise used to return the flash light support status. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - open(): Promise; + hasFlash(): Promise; /** - * Close camera. - * @param callback Callback used to return the result. + * Checks whether a specified flash mode is supported. + * @param flashMode Flash mode. + * @param callback Callback used to return the flash light support status. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - close(callback: AsyncCallback): void; + isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback): void; /** - * Close camera. - * @return Promise used to return the result. + * Checks whether a specified flash mode is supported. + * @param flashMode Flash mode + * @return Promise used to return flash mode support status. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - close(): Promise; + isFlashModeSupported(flashMode: FlashMode): Promise; /** - * Releases instance. - * @param callback Callback used to return the result. + * Gets current flash mode. + * @param callback Callback used to return the current flash mode. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - release(callback: AsyncCallback): void; + getFlashMode(callback: AsyncCallback): void; /** - * Releases instance. - * @return Promise used to return the result. + * Gets current flash mode. + * @return Promise used to return the flash mode. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - release(): Promise; + getFlashMode(): Promise; /** - * Subscribes error event callback. - * @param type Event type. - * @param camera Camera device. - * @param callback Callback used to get the camera input errors. + * Sets flash mode. + * @param flashMode Target flash mode. + * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - on(type: 'error', camera: CameraDevice, callback: ErrorCallback): void; - } + setFlashMode(flashMode: FlashMode, callback: AsyncCallback): void; - /** - * Enum for CameraInput error code. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - enum CameraInputErrorCode { /** - * Unknown error. + * Sets flash mode. + * @param flashMode Target flash mode. + * @return Promise used to return the result. * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core */ - ERROR_UNKNOWN = -1, + setFlashMode(flashMode: FlashMode): Promise; + /** - * No permission. + * Checks whether a specified focus mode is supported. + * @param afMode Focus mode. + * @param callback Callback used to return the device focus support status. * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core */ - ERROR_NO_PERMISSION, + isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback): void; + /** - * Camera device preempted. + * Checks whether a specified focus mode is supported. + * @param afMode Focus mode. + * @return Promise used to return the focus mode support status. * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core */ - ERROR_DEVICE_PREEMPTED, + isFocusModeSupported(afMode: FocusMode): Promise; + /** - * Camera device disconnected. + * Gets current focus mode. + * @param callback Callback used to return the current focus mode. * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core */ - ERROR_DEVICE_DISCONNECTED, + getFocusMode(callback: AsyncCallback): void; + /** - * Camera device in use. + * Gets current focus mode. + * @return Promise used to return the focus mode. * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core */ - ERROR_DEVICE_IN_USE, + getFocusMode(): Promise; + /** - * Driver error. + * Sets focus mode. + * @param afMode Target focus mode. + * @param callback Callback used to return the result. * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core */ - ERROR_DRIVER_ERROR, - } - - /** - * Camera input error object. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - interface CameraInputError extends Error { - code: CameraInputErrorCode; - } + setFocusMode(afMode: FocusMode, callback: AsyncCallback): void; - /** - * Enum for camera format type. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - enum CameraFormat { /** - * YUV 420 Format. + * Sets focus mode. + * @param afMode Target focus mode. + * @return Promise used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - CAMERA_FORMAT_YUV_420_SP = 1003, + setFocusMode(afMode: FocusMode): Promise; /** - * JPEG Format. + * Gets all supported zoom ratio range. + * @param callback Callback used to return the zoom ratio range. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - CAMERA_FORMAT_JPEG = 2000 - } + getZoomRatioRange(callback: AsyncCallback>): void; - /** - * Enum for flash mode. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - enum FlashMode { /** - * Close mode. + * Gets all supported zoom ratio range. + * @return Promise used to return the zoom ratio range. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - FLASH_MODE_CLOSE = 0, + getZoomRatioRange(): Promise>; + /** - * Open mode. + * Gets zoom ratio. + * @param callback Callback used to return the current zoom ratio value. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - FLASH_MODE_OPEN, + getZoomRatio(callback: AsyncCallback): void; + /** - * Auto mode. + * Gets zoom ratio. + * @return Promise used to return the zoom ratio value. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - FLASH_MODE_AUTO, + getZoomRatio(): Promise; + /** - * Always open mode. + * Sets zoom ratio. + * @param zoomRatio Target zoom ratio. + * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - FLASH_MODE_ALWAYS_OPEN - } + setZoomRatio(zoomRatio: number, callback: AsyncCallback): void; + + /** + * Sets zoom ratio. + * @param zoomRatio Target zoom ratio. + * @return Promise used to return the result. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + setZoomRatio(zoomRatio: number): Promise; + + /** + * Releases instance. + * @param callback Callback used to return the result. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + release(callback: AsyncCallback): void; + + /** + * Releases instance. + * @return Promise used to return the result. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + release(): Promise; + + /** + * Subscribes focus status change event callback. + * @param type Event type. + * @param callback Callback used to get the focus state change. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + on(type: 'focusStateChange', callback: AsyncCallback): void; + + /** + * Subscribes error event callback. + * @param type Event type. + * @param callback Callback used to get the camera input errors. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + on(type: 'error', callback: ErrorCallback): void; + } + + /** + * Enum for CameraInput error code. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + enum CameraInputErrorCode { + /** + * Unknown error. + * @since 9 + */ + ERROR_UNKNOWN = -1 + } + + /** + * Camera input error object. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + interface CameraInputError extends Error { + code: CameraInputErrorCode; + } /** - * Enum for exposure mode. + * Enum for flash mode. * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core */ - enum ExposureMode { + enum FlashMode { + /** + * Close mode. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + FLASH_MODE_CLOSE = 0, /** - * Lock exposure mode. + * Open mode. * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core */ - EXPOSURE_MODE_LOCKED = 0, + FLASH_MODE_OPEN, /** - * Auto exposure mode. + * Auto mode. * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core */ - EXPOSURE_MODE_AUTO, - /** - * Continuous automatic exposure. + FLASH_MODE_AUTO, + /** + * Always open mode. * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core */ - EXPOSURE_MODE_CONTINUOUS_AUTO + FLASH_MODE_ALWAYS_OPEN } /** @@ -778,59 +656,22 @@ declare namespace camera { } /** - * Enum for exposure state. + * Gets a CaptureSession instance. + * @param context Current application context. + * @param callback Callback used to return the CaptureSession instance. * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core */ - enum ExposureState { - /** - * Scan state. - * @since 8 - */ - EXPOSURE_STATE_SCAN = 0, - /** - * Converged state. - * @since 8 - */ - EXPOSURE_STATE_CONVERGED - } + function createCaptureSession(context: Context, callback: AsyncCallback): void; /** - * Enum for video stabilization mode. + * Gets a CaptureSession instance. + * @param context Current application context. + * @return Promise used to return the CaptureSession instance. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - enum VideoStabilizationMode { - /** - * Turn off video stablization. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - OFF = 0, - /** - * LOW mode provides basic stabilization effect. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - LOW, - /** - * MIDDLE mode means algorithms can achieve better effects than LOW mode. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - MIDDLE, - /** - * HIGH mode means algorithms can achieve better effects than MIDDLE mode. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - HIGH, - /** - * Camera HDF can select mode automatically. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - AUTO - } + function createCaptureSession(context: Context): Promise; /** * Capture session object. @@ -871,176 +712,180 @@ declare namespace camera { commitConfig(): Promise; /** - * Check whether the camera input can be added. + * Adds a camera input. * @param cameraInput Target camera input to add. * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - canAddInput(cameraInput: CameraInput, callback: AsyncCallback): void; + addInput(cameraInput: CameraInput, callback: AsyncCallback): void; /** - * Check whether the camera input can be added. + * Adds a camera input. * @param cameraInput Target camera input to add. * @return Promise used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - canAddInput(cameraInput: CameraInput): Promise; + addInput(cameraInput: CameraInput): Promise; /** - * Adds a camera input. - * @param cameraInput Target camera input to add. + * Adds a camera preview output. + * @param previewOutput Target camera preview output to add. * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - addInput(cameraInput: CameraInput, callback: AsyncCallback): void; + addOutput(previewOutput: PreviewOutput, callback: AsyncCallback): void; /** - * Adds a camera input. - * @param cameraInput Target camera input to add. + * Adds a camera preview output. + * @param previewOutput Target camera preview output to add. * @return Promise used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - addInput(cameraInput: CameraInput): Promise; + addOutput(previewOutput: PreviewOutput): Promise; /** - * Removes a camera input. - * @param cameraInput Target camera input to remove. + * Adds a camera photo output. + * @param photoOutput Target camera photo output to add. * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - removeInput(cameraInput: CameraInput, callback: AsyncCallback): void; + addOutput(photoOutput: PhotoOutput, callback: AsyncCallback): void; /** - * Removes a camera input. - * @param cameraInput Target camera input to remove. + * Adds a camera photo output. + * @param photoOutput Target camera photo output to add. * @return Promise used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - removeInput(cameraInput: CameraInput): Promise; + addOutput(photoOutput: PhotoOutput): Promise; /** - * Check whether the camera output can be added. - * @param cameraOutput Target camera output to add. + * Adds a camera video output. + * @param videoOutput Target camera video output to add. * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - canAddOutput(cameraOutput: CameraOutput, callback: AsyncCallback): void; + addOutput(videoOutput: VideoOutput, callback: AsyncCallback): void; /** - * Check whether the camera output can be added. - * @param cameraInput Target camera output to add. + * Adds a camera video output. + * @param videoOutput Target camera video output to add. * @return Promise used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - canAddOutput(cameraOutput: CameraOutput): Promise; + addOutput(videoOutput: VideoOutput): Promise; /** - * Adds a camera output. - * @param cameraOutput Target camera output to add. + * Removes a camera input. + * @param cameraInput Target camera input to remove. * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - addOutput(cameraOutput: CameraOutput, callback: AsyncCallback): void; + removeInput(cameraInput: CameraInput, callback: AsyncCallback): void; /** - * Adds a camera output. - * @param cameraOutput Target camera output to add. + * Removes a camera input. + * @param cameraInput Target camera input to remove. * @return Promise used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - addOutput(cameraOutput: CameraOutput): Promise; + removeInput(cameraInput: CameraInput): Promise; /** - * Removes a camera output. - * @param previewOutput Target camera output to remove. + * Removes a camera preview output. + * @param previewOutput Target camera preview output to remove. * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - removeOutput(cameraOutput: CameraOutput, callback: AsyncCallback): void; + removeOutput(previewOutput: PreviewOutput, callback: AsyncCallback): void; /** - * Removes a camera output. - * @param previewOutput Target camera output to remove. + * Removes a camera preview output. + * @param previewOutput Target camera preview output to remove. * @return Promise used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - removeOutput(cameraOutput: CameraOutput): Promise; + removeOutput(previewOutput: PreviewOutput): Promise; /** - * Starts capture session. + * Removes a camera photo output. + * @param photoOutput Target camera photo output to remove. * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - start(callback: AsyncCallback): void; + removeOutput(photoOutput: PhotoOutput, callback: AsyncCallback): void; /** - * Starts capture session. + * Removes a camera photo output. + * @param photoOutput Target camera photo output to remove. * @return Promise used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - start(): Promise; + removeOutput(photoOutput: PhotoOutput): Promise; /** - * Stops capture session. + * Removes a camera video output. + * @param videoOutput Target camera video output to remove. * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - stop(callback: AsyncCallback): void; + removeOutput(videoOutput: VideoOutput, callback: AsyncCallback): void; /** - * Stops capture session. + * Removes a camera video output. + * @param videoOutput Target camera video output to remove. * @return Promise used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - stop(): Promise; + removeOutput(videoOutput: VideoOutput): Promise; /** - * Lock the session for exclusive control. + * Starts capture session. * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - lockForControl(callback: AsyncCallback): void; + start(callback: AsyncCallback): void; /** - * Lock the session for exclusive control. + * Starts capture session. * @return Promise used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - lockForControl(): Promise; + start(): Promise; /** - * Unlock the session after exclusive control. + * Stops capture session. * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - unlockForControl(callback: AsyncCallback): void; + stop(callback: AsyncCallback): void; /** - * Unlock the session after exclusive control. + * Stops capture session. * @return Promise used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - unlockForControl(): Promise; + stop(): Promise; /** * Release capture session instance. @@ -1059,551 +904,72 @@ declare namespace camera { release(): Promise; /** - * Check if device has flash light. - * @param callback Callback used to return the flash light support status. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - hasFlash(callback: AsyncCallback): void; - - /** - * Check if device has flash light. - * @return Promise used to return the flash light support status. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - hasFlash(): Promise; - - /** - * Checks whether a specified flash mode is supported. - * @param flashMode Flash mode. - * @param callback Callback used to return the flash light support status. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback): void; - - /** - * Checks whether a specified flash mode is supported. - * @param flashMode Flash mode - * @return Promise used to return flash mode support status. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - isFlashModeSupported(flashMode: FlashMode): Promise; - - /** - * Gets current flash mode. - * @param callback Callback used to return the current flash mode. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getFlashMode(callback: AsyncCallback): void; - - /** - * Gets current flash mode. - * @return Promise used to return the flash mode. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getFlashMode(): Promise; - - /** - * Sets flash mode. - * @param flashMode Target flash mode. - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setFlashMode(flashMode: FlashMode, callback: AsyncCallback): void; - - /** - * Sets flash mode. - * @param flashMode Target flash mode. - * @return Promise used to return the result. + * Subscribes error event callback. + * @param type Event type. + * @param callback Callback used to get the capture session errors. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - setFlashMode(flashMode: FlashMode): Promise; + on(type: 'error', callback: ErrorCallback): void; + } - /** - * Checks whether a specified exposure mode is supported. - * @param aeMode Exposure mode. - * @param callback Callback used to return the exposure mode support status. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - isExposureModeSupported(aeMode: ExposureMode, callback: AsyncCallback): void; + /** + * Enum for CaptureSession error code. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + enum CaptureSessionErrorCode { + ERROR_UNKNOWN = -1 + } - /** - * Checks whether a specified exposure mode is supported. - * @param aeMode Exposure mode - * @return Promise used to return exposure mode support status. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - isExposureModeSupported(aeMode: ExposureMode): Promise; - - /** - * Gets current exposure mode. - * @param callback Callback used to return the current exposure mode. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getExposureMode(callback: AsyncCallback): void; + /** + * Capture session error object. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + interface CaptureSessionError extends Error { + code: CaptureSessionErrorCode; + } - /** - * Gets current exposure mode. - * @return Promise used to return the current exposure mode. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getExposureMode(): Promise; - - /** - * Sets exposure mode. - * @param aeMode Exposure mode - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setExposureMode(aeMode: ExposureMode, callback: AsyncCallback): void; - - /** - * Sets Exposure mode. - * @param aeMode Exposure mode - * @return Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setExposureMode(aeMode: ExposureMode): Promise; - - /** - * Gets current metering point. - * @param callback Callback used to return the current metering point. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getMeteringPoint(callback: AsyncCallback): void; - - /** - * Gets current metering point. - * @return Promise used to return the current metering point. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getMeteringPoint(): Promise; - - /** - * Set the center point of the metering area. - * @param point Metering point - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setMeteringPoint(point: Point, callback: AsyncCallback): void; - - /** - * Set the center point of the metering area. - * @param point metering point - * @return Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setMeteringPoint(point: Point): Promise; - - /** - * Query the exposure compensation range. - * @param callback Callback used to return the array of compenstation range. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getExposureBiasRange(callback: AsyncCallback>): void; - - /** - * Query the exposure compensation range. - * @return Promise used to return the array of compenstation range. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getExposureBiasRange(): Promise>; - - /** - * Set exposure compensation. - * @param exposureBias Exposure compensation - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setExposureBias(exposureBias: number, callback: AsyncCallback): void; - - /** - * Set exposure compensation. - * @param exposureBias Exposure compensation - * @return Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setExposureBias(exposureBias: number): Promise; - - /** - * Query the exposure value. - * @param callback Callback used to return the exposure value. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getExposureValue(callback: AsyncCallback): void; - - /** - * Query the exposure value. - * @return Promise used to return the exposure value. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getExposureValue(): Promise; - - /** - * Checks whether a specified focus mode is supported. - * @param afMode Focus mode. - * @param callback Callback used to return the device focus support status. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback): void; - - /** - * Checks whether a specified focus mode is supported. - * @param afMode Focus mode. - * @return Promise used to return the focus mode support status. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - isFocusModeSupported(afMode: FocusMode): Promise; - - /** - * Gets current focus mode. - * @param callback Callback used to return the current focus mode. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getFocusMode(callback: AsyncCallback): void; - - /** - * Gets current focus mode. - * @return Promise used to return the focus mode. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getFocusMode(): Promise; - - /** - * Sets focus mode. - * @param afMode Target focus mode. - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setFocusMode(afMode: FocusMode, callback: AsyncCallback): void; - - /** - * Sets focus mode. - * @param afMode Target focus mode. - * @return Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setFocusMode(afMode: FocusMode): Promise; - - /** - * Sets focus point. - * @param point Target focus point. - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setFocusPoint(point: Point, callback: AsyncCallback): void; - - /** - * Sets focus point. - * @param afMode Target focus point. - * @return Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setFocusPoint(point: Point): Promise; - - /** - * Gets current focus point. - * @param callback Callback used to return the current focus point. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getFocusPoint(callback: AsyncCallback): void; - - /** - * Gets current focus point. - * @return Promise used to return the current focus point. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getFocusPoint(): Promise; - - /** - * Gets current focal length. - * @param callback Callback used to return the current focal point. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getFocalLength(callback: AsyncCallback): void; - - /** - * Gets current focal length. - * @return Promise used to return the current focal point. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getFocalLength(): Promise; - - /** - * Gets all supported zoom ratio range. - * @param callback Callback used to return the zoom ratio range. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getZoomRatioRange(callback: AsyncCallback>): void; - - /** - * Gets all supported zoom ratio range. - * @return Promise used to return the zoom ratio range. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getZoomRatioRange(): Promise>; - - /** - * Gets zoom ratio. - * @param callback Callback used to return the current zoom ratio value. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getZoomRatio(callback: AsyncCallback): void; - - /** - * Gets zoom ratio. - * @return Promise used to return the zoom ratio value. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getZoomRatio(): Promise; - - /** - * Sets zoom ratio. - * @param zoomRatio Target zoom ratio. - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setZoomRatio(zoomRatio: number, callback: AsyncCallback): void; - - /** - * Sets zoom ratio. - * @param zoomRatio Target zoom ratio. - * @return Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setZoomRatio(zoomRatio: number): Promise; - - /** - * Check whether the specified video stabilization mode is supported. - * @param vsMode Video Stabilization mode. - * @param callback Callback used to return if video stablization mode is supported. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - isVideoStablizationModeSupported(vsMode: VideoStabilizationMode, callback: AsyncCallback): void; - - /** - * Check whether the specified video stabilization mode is supported. - * @param callback Callback used to return if video stablization mode is supported. - * @return Promise used to return flash mode support status. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - isVideoStablizationModeSupported(vsMode: VideoStabilizationMode): Promise; - - /** - * Query the video stabilization mode currently in use. - * @param callback Callback used to return the current video stabilization mode. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getActiveVideoStabilizationMode(callback: AsyncCallback): void; - - /** - * Query the video stabilization mode currently in use. - * @return Promise used to return the current video stabilization mode. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getActiveVideoStabilizationMode(): Promise; - - /** - * Set video stabilization mode. - * @param mode video stabilization mode to set. - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setVideoStabilizationMode(mode: VideoStabilizationMode, callback: AsyncCallback): void; - - /** - * Set video stabilization mode. - * @param mode video stabilization mode to set. - * @return Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - setVideoStabilizationMode(mode: VideoStabilizationMode): Promise; - - /** - * Subscribes focus status change event callback. - * @param type Event type. - * @param callback Callback used to get the focus state change. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - on(type: 'focusStateChange', callback: AsyncCallback): void; - - /** - * Subscribes exposure status change event callback. - * @param type Event type. - * @param callback Callback used to get the exposure state change. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - on(type: 'exposureStateChange', callback: AsyncCallback): void; - - /** - * Subscribes error event callback. - * @param type Event type. - * @param callback Callback used to get the capture session errors. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - on(type: 'error', callback: ErrorCallback): void; - } - - /** - * Enum for CaptureSession error code. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - enum CaptureSessionErrorCode { - /** - * Unknown error. - * @since 9 - */ - ERROR_UNKNOWN = -1, - /** - * Insufficient resources. - * @since 9 - */ - ERROR_INSUFFICIENT_RESOURCES, - /** - * Timeout error. - * @since 9 - */ - ERROR_TIMEOUT, - } - - /** - * Capture session error object. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - interface CaptureSessionError extends Error { - code: CaptureSessionErrorCode; - } - - /** - * Camera output object. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - interface CameraOutput { - /** - * Release output instance. - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - release(callback: AsyncCallback): void; - - /** - * Release output instance. - * @return Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - release(): Promise; - } + /** + * Creates a PreviewOutput instance. + * @param surfaceId Surface object id used in camera preview output. + * @param callback Callback used to return the PreviewOutput instance. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + function createPreviewOutput(surfaceId: string, callback: AsyncCallback): void; /** - * Preview output object. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - interface PreviewOutput extends CameraOutput { - /** - * Add surface id for output instance. - * @param surfaceId Surface object id used in camera preview output. - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - addDeferredSurface(surfaceId: string, callback: AsyncCallback): void; - - /** - * Add surface id for output instance. - * @param surfaceId Surface object id used in camera preview output. - * @return Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - addDeferredSurface(surfaceId: string): Promise; - - /** - * Start output instance. - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - start(callback: AsyncCallback): void; - - /** - * Start output instance. - * @return Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - start(): Promise; + * Creates a PreviewOutput instance. + * @param surfaceId Surface object id used in camera preview output. + * @return Promise used to return the PreviewOutput instance. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + function createPreviewOutput(surfaceId: string): Promise; + /** + * Preview output object. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + interface PreviewOutput { /** - * Stop output instance. + * Release output instance. * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - stop(callback: AsyncCallback): void; + release(callback: AsyncCallback): void; /** - * Stop output instance. + * Release output instance. * @return Promise used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - stop(): Promise; + release(): Promise; /** * Subscribes frame start event callback. @@ -1639,11 +1005,7 @@ declare namespace camera { * @syscap SystemCapability.Multimedia.Camera.Core */ enum PreviewOutputErrorCode { - /** - * Unknown error. - * @since 9 - */ - ERROR_UNKNOWN = -1, + ERROR_UNKNOWN = -1 } /** @@ -1655,6 +1017,24 @@ declare namespace camera { code: PreviewOutputErrorCode; } + /** + * Creates a PhotoOutput instance. + * @param surfaceId Surface object id used in camera photo output. + * @param callback Callback used to return the PhotoOutput instance. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + function createPhotoOutput(surfaceId: string, callback: AsyncCallback): void; + + /** + * Creates a PhotoOutput instance. + * @param surfaceId Surface object id used in camera photo output. + * @return Promise used to return the PhotoOutput instance. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + function createPhotoOutput(surfaceId: string): Promise; + /** * Enumerates the image rotation angles. * @since 9 @@ -1690,26 +1070,6 @@ declare namespace camera { ROTATION_270 = 270 } - interface Location { - /** - * Latitude. - * @since 9 - */ - latitude: number; - - /** - * Longitude. - * @since 9 - */ - longitude: number; - - /** - * Altitude. - * @since 9 - */ - altitude: number; - } - /** * Enumerates the image quality levels. * @since 9 @@ -1749,27 +1109,12 @@ declare namespace camera { * @syscap SystemCapability.Multimedia.Camera.Core */ quality?: QualityLevel; - /** * Photo rotation. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ rotation?: ImageRotation; - - /** - * Photo location. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - location?: Location; - - /** - * Set the mirror photo function switch, default to false. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - mirror?: boolean; } /** @@ -1777,23 +1122,7 @@ declare namespace camera { * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - interface PhotoOutput extends CameraOutput { - /** - * Get default capture setting. - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getDefaultCaptureSetting(callback: AsyncCallback): void; - - /** - * Get default capture setting. - * @return Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getDefaultCaptureSetting(): Promise; - + interface PhotoOutput { /** * Start capture output. * @param callback Callback used to return the result. @@ -1821,20 +1150,20 @@ declare namespace camera { capture(setting?: PhotoCaptureSetting): Promise; /** - * Check whether to support mirror photo. - * @param callback Callback used to return the mirror support status. + * Release output instance. + * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - isMirrorSupported(callback: AsyncCallback): void; + release(callback: AsyncCallback): void; /** - * Check whether to support mirror photo. - * @return Promise used to return the mirror support status. + * Release output instance. + * @return Promise used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - isMirrorSupported(): Promise; + release(): Promise; /** * Subscribes capture start event callback. @@ -1919,26 +1248,7 @@ declare namespace camera { * @syscap SystemCapability.Multimedia.Camera.Core */ enum PhotoOutputErrorCode { - /** - * Unknown error. - * @since 9 - */ - ERROR_UNKNOWN = -1, - /** - * Driver error. - * @since 9 - */ - ERROR_DRIVER_ERROR, - /** - * Insufficient resources. - * @since 9 - */ - ERROR_INSUFFICIENT_RESOURCES, - /** - * Timeout error. - * @since 9 - */ - ERROR_TIMEOUT, + ERROR_UNKNOWN = -1 } /** @@ -1950,12 +1260,30 @@ declare namespace camera { code: PhotoOutputErrorCode; } + /** + * Creates a VideoOutput instance. + * @param surfaceId Surface object id used in camera video output. + * @param callback Callback used to return the VideoOutput instance. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + function createVideoOutput(surfaceId: string, callback: AsyncCallback): void; + + /** + * Creates a VideoOutput instance. + * @param surfaceId Surface object id used in camera video output. + * @return Promise used to return the VideoOutput instance. + * @since 9 + * @syscap SystemCapability.Multimedia.Camera.Core + */ + function createVideoOutput(surfaceId: string): Promise; + /** * Video output object. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - interface VideoOutput extends CameraOutput { + interface VideoOutput { /** * Start video output. * @param callback Callback used to return the result. @@ -1964,7 +1292,7 @@ declare namespace camera { */ start(callback: AsyncCallback): void; - /** + /** * Start video output. * @return Promise used to return the result. * @since 9 @@ -1989,212 +1317,38 @@ declare namespace camera { stop(): Promise; /** - * Subscribes frame start event callback. - * @param type Event type. - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - on(type: 'frameStart', callback: AsyncCallback): void; - - /** - * Subscribes frame end event callback. - * @param type Event type. - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - on(type: 'frameEnd', callback: AsyncCallback): void; - - /** - * Subscribes error event callback. - * @param type Event type. - * @param callback Callback used to get the video output errors. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - on(type: 'error', callback: ErrorCallback): void; - } - - /** - * Enum for video output error code. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - enum VideoOutputErrorCode { - /** - * Unknown error. - * @since 9 - */ - ERROR_UNKNOWN = -1, - /** - * Driver error. - * @since 9 - */ - ERROR_DRIVER_ERROR, - } - - /** - * Video output error object. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - interface VideoOutputError extends Error { - code: VideoOutputErrorCode; - } - - /** - * Metadata object type. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - enum MetadataObjectType { - FACE_DETECTION = 0 - } - - /** - * Rectangle definition. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - interface Rect { - /** - * X coordinator of top left point. - * @param Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - topLeftX: number; - /** - * Y coordinator of top left point. - * @param Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - topLeftY: number; - /** - * Width of this rectangle. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - width: number; - /** - * Height of this rectangle. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - height: number; - } - - /** - * Metadata object basis. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - interface MetadataObject { - /** - * Get current metadata object type. - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getType(callback: AsyncCallback): void; - - /** - * Get current metadata object type. - * @param Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getType(): Promise; - - /** - * Get current metadata object timestamp in milliseconds. - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getTimestamp(callback: AsyncCallback): void; - - /** - * Get current metadata object timestamp in milliseconds. - * @param Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getTimestamp(): Promise; - - /** - * Get the axis-aligned bounding box of detected metadata object. - * @param callback Callback used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getBoundingBox(callback: AsyncCallback): void; - - /** - * Get the axis-aligned bounding box of detected metadata object. - * @param Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - getBoundingBox(): Promise; - } - - /** - * Metadata face object. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - interface MetadataFaceObject extends MetadataObject { - } - - /** - * Metadata Output object - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - interface MetadataOutput extends CameraOutput { - /** - * Start output metadata + * Release output instance. * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - start(callback: AsyncCallback): void; + release(callback: AsyncCallback): void; /** - * Start output metadata + * Release output instance. * @return Promise used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - start(): Promise; + release(): Promise; /** - * Stop output metadata + * Subscribes frame start event callback. + * @param type Event type. * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - stop(callback: AsyncCallback): void; - - /** - * Stop output metadata - * @return Promise used to return the result. - * @since 9 - * @syscap SystemCapability.Multimedia.Camera.Core - */ - stop(): Promise; + on(type: 'frameStart', callback: AsyncCallback): void; /** - * Subscribes to metadata objects available event callback. + * Subscribes frame end event callback. * @param type Event type. - * @param callback Callback used to get the available metadata objects. + * @param callback Callback used to return the result. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - on(type: 'metadataObjectsAvailable', callback: AsyncCallback>): void; + on(type: 'frameEnd', callback: AsyncCallback): void; /** * Subscribes error event callback. @@ -2203,34 +1357,25 @@ declare namespace camera { * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - on(type: 'error', callback: ErrorCallback): void; + on(type: 'error', callback: ErrorCallback): void; } /** - * Enum for metadata output error code. + * Enum for video output error code. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - enum MetadataOutputErrorCode { - /** - * Unknown errors. - * @since 9 - */ - ERROR_UNKNOWN = -1, - /** - * Insufficient resources. - * @since 9 - */ - ERROR_INSUFFICIENT_RESOURCES, + enum VideoOutputErrorCode { + ERROR_UNKNOWN = -1 } /** - * Metadata output error object. + * Video output error object. * @since 9 * @syscap SystemCapability.Multimedia.Camera.Core */ - interface MetadataOutputError extends Error { - code: MetadataOutputErrorCode; + interface VideoOutputError extends Error { + code: VideoOutputErrorCode; } }