mirror of
https://gitee.com/openharmony/interface_sdk-js
synced 2024-10-08 07:36:38 +00:00
3294683cc7
Signed-off-by: fanjiaojiao <fanjiaojiao@huawei.com>
1692 lines
45 KiB
TypeScript
1692 lines
45 KiB
TypeScript
/*
|
|
* Copyright (C) 2022 Huawei Device Co., Ltd.
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
import { ErrorCallback, AsyncCallback } from './@ohos.base';
|
|
import { Context } from './app/context';
|
|
|
|
/**
|
|
* @name camera
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @since 9
|
|
* @systemapi
|
|
*/
|
|
declare namespace camera {
|
|
|
|
/**
|
|
* Creates a CameraManager instance.
|
|
* @param context Current application context.
|
|
* @returns CameraManager instance.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
function getCameraManager(context: Context): CameraManager;
|
|
|
|
/**
|
|
* Enum for camera status.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
enum CameraStatus {
|
|
/**
|
|
* Appear status.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_STATUS_APPEAR = 0,
|
|
/**
|
|
* Disappear status.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_STATUS_DISAPPEAR = 1,
|
|
/**
|
|
* Available status.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_STATUS_AVAILABLE = 2,
|
|
/**
|
|
* Unavailable status.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_STATUS_UNAVAILABLE = 3
|
|
}
|
|
|
|
/**
|
|
* 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;
|
|
}
|
|
|
|
/**
|
|
* Frame rate range.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface FrameRateRange {
|
|
/**
|
|
* Min frame rate.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
readonly min: number;
|
|
/**
|
|
* Max frame rate.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
readonly max: number;
|
|
}
|
|
|
|
/**
|
|
* 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 frameRateRange: FrameRateRange;
|
|
}
|
|
|
|
/**
|
|
* Camera output capability.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface CameraOutputCapability {
|
|
/**
|
|
* Preview profiles.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
readonly previewProfiles: Array<Profile>;
|
|
/**
|
|
* Photo profiles.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
readonly photoProfiles: Array<Profile>;
|
|
/**
|
|
* Video profiles.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
readonly videoProfiles: Array<VideoProfile>;
|
|
/**
|
|
* All the supported metadata Object Types.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
readonly supportedMetadataObjectTypes: Array<MetadataObjectType>;
|
|
}
|
|
|
|
/**
|
|
* Enum for camera error code.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
enum CameraErrorCode {
|
|
/**
|
|
* Parameter missing or parameter type incorrect
|
|
* @since 9
|
|
*/
|
|
INVALID_ARGUMENT = 7400101,
|
|
/**
|
|
* Operation not allow.
|
|
* @since 9
|
|
*/
|
|
OPERATION_NOT_ALLOWED = 7400102,
|
|
/**
|
|
* Session not config.
|
|
* @since 9
|
|
*/
|
|
SESSION_NOT_CONFIG = 7400103,
|
|
/**
|
|
* Session not running.
|
|
* @since 9
|
|
*/
|
|
SESSION_NOT_RUNNING = 7400104,
|
|
/**
|
|
* Session config locked.
|
|
* @since 9
|
|
*/
|
|
SESSION_CONFIG_LOCKED = 7400105,
|
|
/**
|
|
* Device setting locked.
|
|
* @since 9
|
|
*/
|
|
DEVICE_SETTING_LOCKED = 7400106,
|
|
/**
|
|
* Can not use camera cause of conflict.
|
|
* @since 9
|
|
*/
|
|
CONFILICT_CAMERA = 7400107,
|
|
/**
|
|
* Camera disabled cause of security reason.
|
|
* @since 9
|
|
*/
|
|
DEVICE_DISABLED = 7400108,
|
|
/**
|
|
* Camera service fatal error.
|
|
* @since 9
|
|
*/
|
|
SERVICE_FATAL_ERROR = 7400201
|
|
}
|
|
|
|
/**
|
|
* Camera manager object.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface CameraManager {
|
|
/**
|
|
* Gets supported camera descriptions.
|
|
* @returns An array of supported cameras.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
getSupportedCameras(): Array<CameraDevice>;
|
|
|
|
/**
|
|
* Gets supported output capability for specific camera.
|
|
* @param camera Camera device.
|
|
* @returns The camera output capability.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
getSupportedOutputCapability(camera: CameraDevice): CameraOutputCapability;
|
|
|
|
/**
|
|
* Determine whether camera is muted.
|
|
* @returns Is camera muted.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
isCameraMuted(): boolean;
|
|
|
|
/**
|
|
* Determine whether camera mute is supported.
|
|
* @returns Is camera mute supported.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @systemapi
|
|
*/
|
|
isCameraMuteSupported(): boolean;
|
|
|
|
/**
|
|
* Mute camera.
|
|
* @param mute Mute camera if TRUE, otherwise unmute camera.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @systemapi
|
|
*/
|
|
muteCamera(mute: boolean): void;
|
|
|
|
/**
|
|
* Creates a CameraInput instance by camera.
|
|
* @param camera Camera device used to create the instance.
|
|
* @returns The CameraInput instance.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
|
|
* @permission ohos.permission.CAMERA
|
|
*/
|
|
createCameraInput(camera: CameraDevice): CameraInput;
|
|
|
|
/**
|
|
* Creates a CameraInput instance by camera position and type.
|
|
* @param position Target camera position.
|
|
* @param type Target camera type.
|
|
* @returns The CameraInput instance.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
|
|
* @permission ohos.permission.CAMERA
|
|
*/
|
|
createCameraInput(position: CameraPosition, type: CameraType): CameraInput;
|
|
|
|
/**
|
|
* Creates a PreviewOutput instance.
|
|
* @param profile Preview output profile.
|
|
* @param surfaceId Surface object id used in camera photo output.
|
|
* @returns The PreviewOutput instance.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
|
|
*/
|
|
createPreviewOutput(profile: Profile, surfaceId: string): PreviewOutput;
|
|
|
|
/**
|
|
* Creates a PhotoOutput instance.
|
|
* @param profile Photo output profile.
|
|
* @param surfaceId Surface object id used in camera photo output.
|
|
* @returns The PhotoOutput instance.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
|
|
*/
|
|
createPhotoOutput(profile: Profile, surfaceId: string): PhotoOutput;
|
|
|
|
/**
|
|
* Creates a VideoOutput instance.
|
|
* @param profile Video profile.
|
|
* @param surfaceId Surface object id used in camera video output.
|
|
* @returns The VideoOutput instance.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
|
|
*/
|
|
createVideoOutput(profile: VideoProfile, surfaceId: string): VideoOutput;
|
|
|
|
/**
|
|
* Creates a MetadataOutput instance.
|
|
* @param metadataObjectTypes Array of MetadataObjectType.
|
|
* @returns The MetadataOutput instance.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
|
|
*/
|
|
createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>): MetadataOutput;
|
|
|
|
/**
|
|
* Gets a CaptureSession instance.
|
|
* @returns The CaptureSession instance.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
createCaptureSession(): CaptureSession;
|
|
|
|
/**
|
|
* Subscribes camera status change event callback.
|
|
* @param type Event type.
|
|
* @param callback Callback used to get the camera status change.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
on(type: 'cameraStatus', callback: AsyncCallback<CameraStatusInfo>): void;
|
|
|
|
/**
|
|
* Subscribes camera mute change event callback.
|
|
* @param type Event type.
|
|
* @param callback Callback used to get the camera mute change.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @systemapi
|
|
*/
|
|
on(type: 'cameraMute', callback: AsyncCallback<boolean>): void;
|
|
}
|
|
|
|
/**
|
|
* Camera status info.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface CameraStatusInfo {
|
|
/**
|
|
* Camera instance.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
camera: CameraDevice;
|
|
/**
|
|
* Current camera status.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
status: CameraStatus;
|
|
}
|
|
|
|
/**
|
|
* Enum for camera position.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
enum CameraPosition {
|
|
/**
|
|
* Unspecified position.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_POSITION_UNSPECIFIED = 0,
|
|
/**
|
|
* Back position.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_POSITION_BACK = 1,
|
|
/**
|
|
* Front position.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_POSITION_FRONT = 2
|
|
}
|
|
|
|
/**
|
|
* Enum for camera type.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
enum CameraType {
|
|
/**
|
|
* Default camera type
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_TYPE_DEFAULT = 0,
|
|
|
|
/**
|
|
* Wide camera
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_TYPE_WIDE_ANGLE = 1,
|
|
|
|
/**
|
|
* Ultra wide camera
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_TYPE_ULTRA_WIDE = 2,
|
|
|
|
/**
|
|
* Telephoto camera
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_TYPE_TELEPHOTO = 3,
|
|
|
|
/**
|
|
* True depth camera
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_TYPE_TRUE_DEPTH = 4
|
|
}
|
|
|
|
/**
|
|
* Enum for camera connection type.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
enum ConnectionType {
|
|
/**
|
|
* Built-in camera.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_CONNECTION_BUILT_IN = 0,
|
|
|
|
/**
|
|
* Camera connected using USB
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_CONNECTION_USB_PLUGIN = 1,
|
|
|
|
/**
|
|
* Remote camera
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_CONNECTION_REMOTE = 2
|
|
}
|
|
|
|
/**
|
|
* Camera device object.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface CameraDevice {
|
|
/**
|
|
* Camera id attribute.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
readonly cameraId: string;
|
|
/**
|
|
* Camera position attribute.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
readonly cameraPosition: CameraPosition;
|
|
/**
|
|
* Camera type attribute.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
readonly cameraType: CameraType;
|
|
/**
|
|
* Camera connection type attribute.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
readonly connectionType: ConnectionType;
|
|
}
|
|
|
|
/**
|
|
* Size parameter.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface Size {
|
|
/**
|
|
* Height.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
height: number;
|
|
/**
|
|
* Width.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
width: number;
|
|
}
|
|
|
|
/**
|
|
* Point parameter.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface Point {
|
|
/**
|
|
* x co-ordinate
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
x: number;
|
|
/**
|
|
* y co-ordinate
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
y: number;
|
|
}
|
|
|
|
/**
|
|
* Camera input object.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface CameraInput {
|
|
/**
|
|
* Open camera.
|
|
* @param callback Callback used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400107 - Can not use camera cause of conflict.
|
|
* @throws { BusinessError } 7400108 - Camera disabled cause of security reason.
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
open(callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Open camera.
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400107 - Can not use camera cause of conflict.
|
|
* @throws { BusinessError } 7400108 - Camera disabled cause of security reason.
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
open(): Promise<void>;
|
|
|
|
/**
|
|
* Close camera.
|
|
* @param callback Callback used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
close(callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Close camera.
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
close(): Promise<void>;
|
|
|
|
/**
|
|
* Subscribes error event callback.
|
|
* @param type Event type.
|
|
* @param camera Camera device.
|
|
* @param callback Callback used to get the camera input errors.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
on(type: 'error', camera: CameraDevice, callback: ErrorCallback<BusinessError>): void;
|
|
}
|
|
|
|
/**
|
|
* Enum for camera format type.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
enum CameraFormat {
|
|
/**
|
|
* RGBA 8888 Format.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_FORMAT_RGBA_8888 = 3,
|
|
|
|
/**
|
|
* YUV 420 Format.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_FORMAT_YUV_420_SP = 1003,
|
|
|
|
/**
|
|
* JPEG Format.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
CAMERA_FORMAT_JPEG = 2000
|
|
}
|
|
|
|
/**
|
|
* Enum for flash mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
enum FlashMode {
|
|
/**
|
|
* Close mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
FLASH_MODE_CLOSE = 0,
|
|
/**
|
|
* Open mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
FLASH_MODE_OPEN = 1,
|
|
/**
|
|
* Auto mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
FLASH_MODE_AUTO = 2,
|
|
/**
|
|
* Always open mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
FLASH_MODE_ALWAYS_OPEN = 3
|
|
}
|
|
|
|
/**
|
|
* Enum for exposure mode.
|
|
* @since 9
|
|
*/
|
|
enum ExposureMode {
|
|
/**
|
|
* Lock exposure mode.
|
|
* @since 9
|
|
*/
|
|
EXPOSURE_MODE_LOCKED = 0,
|
|
/**
|
|
* Auto exposure mode.
|
|
* @since 9
|
|
*/
|
|
EXPOSURE_MODE_AUTO = 1,
|
|
/**
|
|
* Continuous automatic exposure.
|
|
* @since 9
|
|
*/
|
|
EXPOSURE_MODE_CONTINUOUS_AUTO = 2
|
|
}
|
|
|
|
/**
|
|
* Enum for focus mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
enum FocusMode {
|
|
/**
|
|
* Manual mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
FOCUS_MODE_MANUAL = 0,
|
|
/**
|
|
* Continuous auto mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
FOCUS_MODE_CONTINUOUS_AUTO = 1,
|
|
/**
|
|
* Auto mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
FOCUS_MODE_AUTO = 2,
|
|
/**
|
|
* Locked mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
FOCUS_MODE_LOCKED = 3
|
|
}
|
|
|
|
/**
|
|
* Enum for focus state.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
enum FocusState {
|
|
/**
|
|
* Scan state.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
FOCUS_STATE_SCAN = 0,
|
|
/**
|
|
* Focused state.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
FOCUS_STATE_FOCUSED = 1,
|
|
/**
|
|
* Unfocused state.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
FOCUS_STATE_UNFOCUSED = 2
|
|
}
|
|
|
|
/**
|
|
* Enum for video stabilization mode.
|
|
* @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 = 1,
|
|
/**
|
|
* MIDDLE mode means algorithms can achieve better effects than LOW mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
MIDDLE = 2,
|
|
/**
|
|
* HIGH mode means algorithms can achieve better effects than MIDDLE mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
HIGH = 3,
|
|
/**
|
|
* Camera HDF can select mode automatically.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
AUTO = 4
|
|
}
|
|
|
|
/**
|
|
* Capture session object.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface CaptureSession {
|
|
/**
|
|
* Begin capture session config.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400105 - Session config locked.
|
|
*/
|
|
beginConfig(): void;
|
|
|
|
/**
|
|
* Commit capture session config.
|
|
* @param callback Callback used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400102 - Operation not allow.
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
commitConfig(callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Commit capture session config.
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400102 - Operation not allow.
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
commitConfig(): Promise<void>;
|
|
|
|
/**
|
|
* Adds a camera input.
|
|
* @param cameraInput Target camera input to add.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
|
|
* @throws { BusinessError } 7400102 - Operation not allow.
|
|
*/
|
|
addInput(cameraInput: CameraInput): void;
|
|
|
|
/**
|
|
* Removes a camera input.
|
|
* @param cameraInput Target camera input to remove.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
|
|
* @throws { BusinessError } 7400102 - Operation not allow.
|
|
*/
|
|
removeInput(cameraInput: CameraInput): void;
|
|
|
|
/**
|
|
* Adds a camera output.
|
|
* @param cameraOutput Target camera output to add.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
|
|
* @throws { BusinessError } 7400102 - Operation not allow.
|
|
*/
|
|
addOutput(cameraOutput: CameraOutput): void;
|
|
|
|
/**
|
|
* Removes a camera output.
|
|
* @param previewOutput Target camera output to remove.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
|
|
* @throws { BusinessError } 7400102 - Operation not allow.
|
|
*/
|
|
removeOutput(cameraOutput: CameraOutput): void;
|
|
|
|
/**
|
|
* Starts capture session.
|
|
* @param callback Callback used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
start(callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Starts capture session.
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
start(): Promise<void>;
|
|
|
|
/**
|
|
* Stops capture session.
|
|
* @param callback Callback used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
stop(callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Stops capture session.
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
stop(): Promise<void>;
|
|
|
|
/**
|
|
* Release capture session instance.
|
|
* @param callback Callback used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
release(callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Release capture session instance.
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
release(): Promise<void>;
|
|
|
|
/**
|
|
* Check if device has flash light.
|
|
* @returns The flash light support status.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
hasFlash(): boolean;
|
|
|
|
/**
|
|
* Checks whether a specified flash mode is supported.
|
|
* @param flashMode Flash mode
|
|
* @returns Is the flash mode supported.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
isFlashModeSupported(flashMode: FlashMode): boolean;
|
|
|
|
/**
|
|
* Gets current flash mode.
|
|
* @returns The current flash mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
getFlashMode(): FlashMode;
|
|
|
|
/**
|
|
* Sets flash mode.
|
|
* @param flashMode Target flash mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
setFlashMode(flashMode: FlashMode): void;
|
|
|
|
/**
|
|
* Checks whether a specified exposure mode is supported.
|
|
* @param aeMode Exposure mode
|
|
* @returns Is the exposure mode supported.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
isExposureModeSupported(aeMode: ExposureMode): boolean;
|
|
|
|
/**
|
|
* Gets current exposure mode.
|
|
* @returns The current exposure mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
getExposureMode(): ExposureMode;
|
|
|
|
/**
|
|
* Sets Exposure mode.
|
|
* @param aeMode Exposure mode
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
setExposureMode(aeMode: ExposureMode): void;
|
|
|
|
/**
|
|
* Gets current metering point.
|
|
* @returns The current metering point.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
getMeteringPoint(): Point;
|
|
|
|
/**
|
|
* Set the center point of the metering area.
|
|
* @param point metering point
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
setMeteringPoint(point: Point): void;
|
|
|
|
/**
|
|
* Query the exposure compensation range.
|
|
* @returns The array of compenstation range.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
getExposureBiasRange(): Array<number>;
|
|
|
|
/**
|
|
* Set exposure compensation.
|
|
* @param exposureBias Exposure compensation
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
setExposureBias(exposureBias: number): void;
|
|
|
|
/**
|
|
* Query the exposure value.
|
|
* @returns The exposure value.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
getExposureValue(): number;
|
|
|
|
/**
|
|
* Checks whether a specified focus mode is supported.
|
|
* @param afMode Focus mode.
|
|
* @returns Is the focus mode supported.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
isFocusModeSupported(afMode: FocusMode): boolean;
|
|
|
|
/**
|
|
* Gets current focus mode.
|
|
* @returns The current focus mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
getFocusMode(): FocusMode;
|
|
|
|
/**
|
|
* Sets focus mode.
|
|
* @param afMode Target focus mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
setFocusMode(afMode: FocusMode): void;
|
|
|
|
/**
|
|
* Sets focus point.
|
|
* @param afMode Target focus point.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
setFocusPoint(point: Point): void;
|
|
|
|
/**
|
|
* Gets current focus point.
|
|
* @returns The current focus point.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
getFocusPoint(): Point;
|
|
|
|
/**
|
|
* Gets current focal length.
|
|
* @returns The current focal point.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
getFocalLength(): number;
|
|
|
|
/**
|
|
* Gets all supported zoom ratio range.
|
|
* @returns The zoom ratio range.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
getZoomRatioRange(): Array<number>;
|
|
|
|
/**
|
|
* Gets zoom ratio.
|
|
* @returns The zoom ratio value.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
getZoomRatio(): number;
|
|
|
|
/**
|
|
* Sets zoom ratio.
|
|
* @param zoomRatio Target zoom ratio.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
setZoomRatio(zoomRatio: number): void;
|
|
|
|
/**
|
|
* Check whether the specified video stabilization mode is supported.
|
|
* @param vsMode Video Stabilization mode.
|
|
* @returns Is flash mode supported.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): boolean;
|
|
|
|
/**
|
|
* Query the video stabilization mode currently in use.
|
|
* @returns The current video stabilization mode.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
getActiveVideoStabilizationMode(): VideoStabilizationMode;
|
|
|
|
/**
|
|
* Set video stabilization mode.
|
|
* @param mode video stabilization mode to set.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
setVideoStabilizationMode(mode: VideoStabilizationMode): void;
|
|
|
|
/**
|
|
* 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<FocusState>): 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<BusinessError>): void;
|
|
}
|
|
|
|
/**
|
|
* 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
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
release(callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Release output instance.
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
release(): Promise<void>;
|
|
}
|
|
|
|
/**
|
|
* Preview output object.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface PreviewOutput extends CameraOutput {
|
|
/**
|
|
* Start output instance.
|
|
* @param callback Callback used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
start(callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Start output instance.
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
*/
|
|
start(): Promise<void>;
|
|
|
|
/**
|
|
* Stop output instance.
|
|
* @param callback Callback used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
stop(callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Stop output instance.
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
stop(): Promise<void>;
|
|
|
|
/**
|
|
* 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>): 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>): void;
|
|
|
|
/**
|
|
* Subscribes error event callback.
|
|
* @param type Event type.
|
|
* @param callback Callback used to get the preview output errors.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
on(type: 'error', callback: ErrorCallback<BusinessError>): void;
|
|
}
|
|
|
|
/**
|
|
* Enumerates the image rotation angles.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
enum ImageRotation {
|
|
/**
|
|
* The capture image rotates 0 degrees.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
ROTATION_0 = 0,
|
|
|
|
/**
|
|
* The capture image rotates 90 degrees.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
ROTATION_90 = 90,
|
|
|
|
/**
|
|
* The capture image rotates 180 degrees.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
ROTATION_180 = 180,
|
|
|
|
/**
|
|
* The capture image rotates 270 degrees.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
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
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
enum QualityLevel {
|
|
/**
|
|
* High image quality.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
QUALITY_LEVEL_HIGH = 0,
|
|
|
|
/**
|
|
* Medium image quality.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
QUALITY_LEVEL_MEDIUM = 1,
|
|
|
|
/**
|
|
* Low image quality.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
QUALITY_LEVEL_LOW = 2
|
|
}
|
|
|
|
/**
|
|
* Photo capture options to set.
|
|
* @since 9
|
|
*/
|
|
interface PhotoCaptureSetting {
|
|
/**
|
|
* Photo image quality.
|
|
* @since 9
|
|
* @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;
|
|
}
|
|
|
|
/**
|
|
* Photo output object.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface PhotoOutput extends CameraOutput {
|
|
/**
|
|
* Start capture output.
|
|
* @param callback Callback used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400104 - Session not running.
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
capture(callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Start capture output.
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400104 - Session not running.
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
capture(): Promise<void>;
|
|
|
|
/**
|
|
* Start capture output.
|
|
* @param setting Photo capture settings.
|
|
* @param callback Callback used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
|
|
* @throws { BusinessError } 7400104 - Session not running.
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
capture(setting: PhotoCaptureSetting, callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Start capture output.
|
|
* @param setting Photo capture settings.
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect
|
|
* @throws { BusinessError } 7400104 - Session not running.
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
capture(setting?: PhotoCaptureSetting): Promise<void>;
|
|
|
|
/**
|
|
* Check whether to support mirror photo.
|
|
* @returns Is the mirror supported.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
isMirrorSupported(): boolean;
|
|
|
|
/**
|
|
* Subscribes capture start event callback.
|
|
* @param type Event type.
|
|
* @param callback Callback used to get the capture ID.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
on(type: 'captureStart', callback: AsyncCallback<number>): void;
|
|
|
|
/**
|
|
* Subscribes frame shutter event callback.
|
|
* @param type Event type.
|
|
* @param callback Callback used to get the frame shutter information.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
on(type: 'frameShutter', callback: AsyncCallback<FrameShutterInfo>): void;
|
|
|
|
/**
|
|
* Subscribes capture end event callback.
|
|
* @param type Event type.
|
|
* @param callback Callback used to get the capture end information.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
on(type: 'captureEnd', callback: AsyncCallback<CaptureEndInfo>): void;
|
|
|
|
/**
|
|
* Subscribes error event callback.
|
|
* @param type Event type.
|
|
* @param callback Callback used to get the photo output errors.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
on(type: 'error', callback: ErrorCallback<BusinessError>): void;
|
|
}
|
|
|
|
/**
|
|
* Frame shutter callback info.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface FrameShutterInfo {
|
|
/**
|
|
* Capture id.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
captureId: number;
|
|
/**
|
|
* Timestamp for frame.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
timestamp: number;
|
|
}
|
|
|
|
/**
|
|
* Capture end info.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface CaptureEndInfo {
|
|
/**
|
|
* Capture id.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
captureId: number;
|
|
/**
|
|
* Frame count.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
frameCount: number;
|
|
}
|
|
|
|
/**
|
|
* Video output object.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface VideoOutput extends CameraOutput {
|
|
/**
|
|
* Start video output.
|
|
* @param callback Callback used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
start(callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Start video output.
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
start(): Promise<void>;
|
|
|
|
/**
|
|
* Stop video output.
|
|
* @param callback Callback used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
stop(callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Stop video output.
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
stop(): Promise<void>;
|
|
|
|
/**
|
|
* 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>): 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>): 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<BusinessError>): void;
|
|
}
|
|
|
|
/**
|
|
* 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 {
|
|
/**
|
|
* Metadata object type.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
readonly type: MetadataObjectType;
|
|
/**
|
|
* Metadata object timestamp in milliseconds.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
readonly timestamp: number;
|
|
/**
|
|
* The axis-aligned bounding box of detected metadata object.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
readonly boundingBox: Rect;
|
|
}
|
|
|
|
/**
|
|
* Metadata Output object
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
interface MetadataOutput extends CameraOutput {
|
|
/**
|
|
* Start output metadata
|
|
* @param callback Callback used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
start(callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Start output metadata
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
* @throws { BusinessError } 7400103 - Session not config.
|
|
* @throws { BusinessError } 7400201 - Camera service fatal error.
|
|
*/
|
|
start(): Promise<void>;
|
|
|
|
/**
|
|
* Stop output metadata
|
|
* @param callback Callback used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
stop(callback: AsyncCallback<void>): void;
|
|
|
|
/**
|
|
* Stop output metadata
|
|
* @returns Promise used to return the result.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
stop(): Promise<void>;
|
|
|
|
/**
|
|
* Subscribes to metadata objects available event callback.
|
|
* @param type Event type.
|
|
* @param callback Callback used to get the available metadata objects.
|
|
* @since 9
|
|
* @syscap SystemCapability.Multimedia.Camera.Core
|
|
*/
|
|
on(type: 'metadataObjectsAvailable', callback: AsyncCallback<Array<MetadataObject>>): 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<BusinessError>): void;
|
|
}
|
|
}
|
|
|
|
export default camera;
|