# 媒体å系统 JS API å˜æ›´ Changelog OpenHarmony3.2.10.3 相对 OpenHarmony3.2 Beta4 版本,媒体å系统 camera 部件 API å˜æ›´å¦‚下 ## cl.subsystemname.1 camera 接å£å˜æ›´ 1. camera 部件在 API9 ç‰ˆæœ¬å…¨é‡æ”¹ä¸º SystemAPI 2. åŸºäºŽä»¥ä¸‹åŽŸå› æ–°å¢žéƒ¨åˆ†åŠŸèƒ½æŽ¥å£ä»¥åŠåºŸå¼ƒéƒ¨åˆ†æŽ¥å£ï¼š æå‡å¼€å‘者使用相机接å£çš„便利。 帮助开å‘者快速掌æ¡ç›¸æœºå¼€å‘接å£ï¼Œå¿«é€ŸæŠ•入到开å‘当ä¸ã€‚ 易于åŽç»ç‰ˆæœ¬ä¸æ¡†æž¶åŠŸèƒ½çš„æ‰©å±•ï¼Œé™ä½Žæ¡†æž¶æ¨¡å—之间的耦åˆåº¦ã€‚ 具体å‚è€ƒä¸‹æ–¹å˜æ›´å†…容,开å‘è€…éœ€è¦æ ¹æ®ä»¥ä¸‹è¯´æ˜Žå¯¹åº”用进行适é…。 **å˜æ›´å½±å“** å½±å“ API9 版本的 JS 接å£ï¼Œåº”用需è¦è¿›è¡Œé€‚é…æ‰å¯ä»¥åœ¨æ–°ç‰ˆæœ¬ SDK 环境æ£å¸¸å®žçŽ°åŠŸèƒ½ã€‚ **关键的接å£/ç»„ä»¶å˜æ›´** | 模å—å | ç±»å | 方法/属性/枚举/å¸¸é‡ | 是å¦ä¸º SystemApi | å˜æ›´ç±»åž‹ | | ---------------------- | ----------------------- | ------------------------------------------------------------ | --------------- | -------- | | ohos.multimedia.camera | camera | function getCameraManager(context: Context): CameraManager; | 是 | 新增 | | ohos.multimedia.camera | camera | function getCameraManager(context: Context, callback: AsyncCallback<CameraManager>): void;<br/>function getCameraManager(context: Context): Promise<CameraManager>; | 是 | 废弃 | | ohos.multimedia.camera | CameraErrorCode | INVALID_ARGUMENT = 7400101,<br/>OPERATION_NOT_ALLOWED = 7400102,<br/>SESSION_NOT_CONFIG = 7400103,<br/>SESSION_NOT_RUNNING = 7400104,<br/>SESSION_CONFIG_LOCKED = 7400105,<br/>DEVICE_SETTING_LOCKED = 7400106,<br/>CONFILICT_CAMERA = 7400107,<br/>DEVICE_DISABLED = 7400108,<br/>SERVICE_FATAL_ERROR = 7400201 | 是 | 新增 | | ohos.multimedia.camera | CameraManager | getSupportedCameras(): Array<CameraDevice>;<br/>getSupportedOutputCapability(camera: CameraDevice): CameraOutputCapability;<br/>createCameraInput(camera: CameraDevice): CameraInput;<br/>createCameraInput(position: CameraPosition, type: CameraType): CameraInput;<br/>createPreviewOutput(profile: Profile, surfaceId: string): PreviewOutput;<br/>createPhotoOutput(profile: Profile, surfaceId: string): PhotoOutput;<br/>createVideoOutput(profile: VideoProfile, surfaceId: string): VideoOutput;<br/>createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>): MetadataOutput;<br/>createCaptureSession(): CaptureSession; | 是 | 新增 | | ohos.multimedia.camera | CameraManager | getSupportedCameras(callback: AsyncCallback<Array<CameraDevice>>): void;<br/>getSupportedCameras(): Promise<Array<CameraDevice>>;<br/>getSupportedOutputCapability(camera: CameraDevice, callback: AsyncCallback<CameraOutputCapability>): void;<br/>getSupportedOutputCapability(camera: CameraDevice): Promise<CameraOutputCapability>;<br/>createCameraInput(camera: CameraDevice, callback: AsyncCallback<CameraInput>): void;<br/>createCameraInput(camera: CameraDevice): Promise<CameraInput>;<br/>createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback<CameraInput>): void;<br/>createCameraInput(position: CameraPosition, type: CameraType): Promise<CameraInput>;<br/>createPreviewOutput(profile: Profile, surfaceId: string, callback: AsyncCallback<PreviewOutput>): void;<br/>createPreviewOutput(profile: Profile, surfaceId: string): Promise<PreviewOutput>;<br/>createPhotoOutput(profile: Profile, surfaceId: string, callback: AsyncCallback<PhotoOutput>): void;<br/>createPhotoOutput(profile: Profile, surfaceId: string): Promise<PhotoOutput>;<br/>createVideoOutput(profile: VideoProfile, surfaceId: string, callback: AsyncCallback<VideoOutput>): void;<br/>createVideoOutput(profile: VideoProfile, surfaceId: string): Promise<VideoOutput>;<br/>createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>, callback: AsyncCallback<MetadataOutput>): void;<br/>createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>): Promise<MetadataOutput>;<br/>createCaptureSession(callback: AsyncCallback<CaptureSession>): void;<br/>createCaptureSession(): Promise<CaptureSession>; | 是 | 废弃 | | ohos.multimedia.camera | CameraType | CAMERA_TYPE_DEFAULT = 0 | 是 | 新增 | | ohos.multimedia.camera | CameraType | CAMERA_TYPE_UNSPECIFIED = 0 | 是 | 废弃 | | ohos.multimedia.camera | CameraInput | on(type: 'error', camera: CameraDevice, callback: ErrorCallback<BusinessError>): void; | 是 | 新增 | | ohos.multimedia.camera | CameraInput | release(callback: AsyncCallback<void>): void;<br/>release(): Promise<void>;<br/>on(type: 'error', camera: CameraDevice, callback: ErrorCallback<CameraInputError>): void; | 是 | 废弃 | | ohos.multimedia.camera | CameraInputErrorCode | ERROR_UNKNOWN = -1<br/>ERROR_NO_PERMISSION = 0<br/>ERROR_DEVICE_PREEMPTED = 1<br/>ERROR_DEVICE_DISCONNECTED = 2<br/>ERROR_DEVICE_IN_USE = 3<br/>ERROR_DRIVER_ERROR = 4 | 是 | 废弃 | | ohos.multimedia.camera | CameraInputError | code: CameraInputErrorCode | 是 | 废弃 | | ohos.multimedia.camera | CaptureSession | beginConfig(): void;<br/>addInput(cameraInput: CameraInput): void;<br/>removeInput(cameraInput: CameraInput): void;<br/>addOutput(cameraOutput: CameraOutput): void;<br/>removeOutput(cameraOutput: CameraOutput): void;<br/>hasFlash(): boolean;<br/>isFlashModeSupported(flashMode: FlashMode): boolean;<br/>getFlashMode(): FlashMode;<br/>setFlashMode(flashMode: FlashMode): void;<br/>isExposureModeSupported(aeMode: ExposureMode): boolean;<br/>getExposureMode(): ExposureMode;<br/>setExposureMode(aeMode: ExposureMode): void;<br/>getMeteringPoint(): Point;<br/>setMeteringPoint(point: Point): void;<br/>getExposureBiasRange(): Array<number>;<br/>setExposureBias(exposureBias: number): void;<br/>getExposureValue(): number;<br/>isFocusModeSupported(afMode: FocusMode): boolean;<br/>getFocusMode(): FocusMode;<br/>setFocusMode(afMode: FocusMode): void;<br/>setFocusPoint(point: Point): void;<br/>getFocusPoint(): Point;<br/>getFocalLength(): number;<br/>getZoomRatioRange(): Array<number>;<br/>getZoomRatio(): number;<br/>setZoomRatio(zoomRatio: number): void;<br/>isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): boolean;<br/>getActiveVideoStabilizationMode(): VideoStabilizationMode;<br/>setVideoStabilizationMode(mode: VideoStabilizationMode): void;<br/>on(type: 'error', callback: ErrorCallback<BusinessError>): void; | 是 | 新增 | | ohos.multimedia.camera | CaptureSession | beginConfig(callback: AsyncCallback<void>): void;<br/>beginConfig(): Promise<void>;<br/>addInput(cameraInput: CameraInput, callback: AsyncCallback<void>): void;<br/>addInput(cameraInput: CameraInput): Promise<void>;<br/>removeInput(cameraInput: CameraInput, callback: AsyncCallback<void>): void;<br/>removeInput(cameraInput: CameraInput): Promise<void>;<br/>addOutput(cameraOutput: CameraOutput, callback: AsyncCallback<void>): void;<br/>addOutput(cameraOutput: CameraOutput): Promise<void>;<br/>removeOutput(cameraOutput: CameraOutput, callback: AsyncCallback<void>): void;<br/>removeOutput(cameraOutput: CameraOutput): Promise<void>;<br/>hasFlash(callback: AsyncCallback<boolean>): void;<br/>hasFlash(): Promise<boolean>;<br/>isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback<boolean>): void;<br/>isFlashModeSupported(flashMode: FlashMode): Promise<boolean>;<br/>getFlashMode(callback: AsyncCallback<FlashMode>): void;<br/>getFlashMode(): Promise<FlashMode>;<br/>setFlashMode(flashMode: FlashMode, callback: AsyncCallback<void>): void;<br/>setFlashMode(flashMode: FlashMode): Promise<void>;<br/>isExposureModeSupported(aeMode: ExposureMode, callback: AsyncCallback<boolean>): void;<br/>isExposureModeSupported(aeMode: ExposureMode): Promise<boolean>;<br/>getExposureMode(callback: AsyncCallback<ExposureMode>): void;<br/>getExposureMode(): Promise<ExposureMode>;<br/>setExposureMode(aeMode: ExposureMode, callback: AsyncCallback<void>): void;<br/>setExposureMode(aeMode: ExposureMode): Promise<void>;<br/>getMeteringPoint(callback: AsyncCallback<Point>): void;<br/>getMeteringPoint(): Promise<Point>;<br/>setMeteringPoint(point: Point, callback: AsyncCallback<void>): void;<br/>setMeteringPoint(point: Point): Promise<void>;<br/>getExposureBiasRange(callback: AsyncCallback<Array<number>>): void;<br/>getExposureBiasRange(): Promise<Array<number>>;<br/>setExposureBias(exposureBias: number, callback: AsyncCallback<void>): void;<br/>setExposureBias(exposureBias: number): Promise<void>;<br/>getExposureValue(callback: AsyncCallback<number>): void;<br/>getExposureValue(): Promise<number>;<br/>isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback<boolean>): void;<br/>isFocusModeSupported(afMode: FocusMode): Promise<boolean>;<br/>getFocusMode(callback: AsyncCallback<FocusMode>): void;<br/>getFocusMode(): Promise<FocusMode>;<br/>setFocusMode(afMode: FocusMode, callback: AsyncCallback<void>): void;<br/>setFocusMode(afMode: FocusMode): Promise<void>;<br/>setFocusPoint(point: Point, callback: AsyncCallback<void>): void;<br/>setFocusPoint(point: Point): Promise<void>;<br/>getFocusPoint(callback: AsyncCallback<Point>): void;<br/>getFocusPoint(): Promise<Point>;<br/>getFocalLength(callback: AsyncCallback<number>): void;<br/>getFocalLength(): Promise<number>;<br/>getZoomRatioRange(callback: AsyncCallback<Array<number>>): void;<br/>getZoomRatioRange(): Promise<Array<number>>;<br/>getZoomRatio(callback: AsyncCallback<number>): void;<br/>getZoomRatio(): Promise<number>;<br/>setZoomRatio(zoomRatio: number, callback: AsyncCallback<void>): void;<br/>setZoomRatio(zoomRatio: number): Promise<void>;<br/>isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode, callback: AsyncCallback<boolean>): void;<br/>isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): Promise<boolean>;<br/>getActiveVideoStabilizationMode(callback: AsyncCallback<VideoStabilizationMode>): void;<br/>getActiveVideoStabilizationMode(): Promise<VideoStabilizationMode>;<br/>setVideoStabilizationMode(mode: VideoStabilizationMode, callback: AsyncCallback<void>): void;<br/>setVideoStabilizationMode(mode: VideoStabilizationMode): Promise<void>;<br/>on(type: 'error', callback: ErrorCallback<CaptureSessionError>): void; | 是 | 废弃 | | ohos.multimedia.camera | CaptureSessionErrorCode | ERROR_UNKNOWN = -1<br/>ERROR_INSUFFICIENT_RESOURCES = 0<br/>ERROR_TIMEOUT = 1 | 是 | 废弃 | | ohos.multimedia.camera | CaptureSessionError | code: CaptureSessionErrorCode | 是 | 废弃 | | ohos.multimedia.camera | PreviewOutput | on(type: 'error', callback: ErrorCallback<BusinessError>): void; | 是 | 新增 | | ohos.multimedia.camera | PreviewOutput | on(type: 'error', callback: ErrorCallback<PreviewOutputError>): void; | 是 | 废弃 | | ohos.multimedia.camera | PreviewOutputErrorCode | ERROR_UNKNOWN = -1 | 是 | 废弃 | | ohos.multimedia.camera | PreviewOutputError | code: PreviewOutputErrorCode | 是 | 废弃 | | ohos.multimedia.camera | PhotoOutput | capture(): Promise<void>;<br/>isMirrorSupported(): boolean;<br/>on(type: 'error', callback: ErrorCallback<BusinessError>): void; | 是 | 新增 | | ohos.multimedia.camera | PhotoOutput | isMirrorSupported(callback: AsyncCallback<boolean>): void;<br/>isMirrorSupported(): Promise<boolean>;<br/>on(type: 'error', callback: ErrorCallback<PhotoOutputError>): void; | 是 | 废弃 | | ohos.multimedia.camera | PhotoOutputErrorCode | ERROR_UNKNOWN = -1<br/>ERROR_DRIVER_ERROR = 0<br/>ERROR_INSUFFICIENT_RESOURCES = 1<br/>ERROR_TIMEOUT = 2 | 是 | 废弃 | | ohos.multimedia.camera | PhotoOutputError | code: PhotoOutputErrorCode | 是 | 废弃 | | ohos.multimedia.camera | VideoOutput | on(type: 'error', callback: ErrorCallback<BusinessError>): void; | 是 | 新增 | | ohos.multimedia.camera | VideoOutput | on(type: 'error', callback: ErrorCallback<VideoOutputError>): void; | 是 | 废弃 | | ohos.multimedia.camera | VideoOutputErrorCode | ERROR_UNKNOWN = -1<br/>ERROR_DRIVER_ERROR = 0 | 是 | 废弃 | | ohos.multimedia.camera | VideoOutputError | code: VideoOutputErrorCode | 是 | 废弃 | | ohos.multimedia.camera | MetadataObject | readonly type: MetadataObjectType;<br/>readonly timestamp: number; | 是 | 新增 | | ohos.multimedia.camera | MetadataObject | getType(callback: AsyncCallback<MetadataObjectType>): void;<br/>getType(): Promise<MetadataObjectType>;<br/>getTimestamp(callback: AsyncCallback<number>): void;<br/>getTimestamp(): Promise<number>;<br/>getBoundingBox(callback: AsyncCallback<Rect>): void;<br/>getBoundingBox(): Promise<Rect>; | 是 | 废弃 | | ohos.multimedia.camera | MetadataFaceObject | readonly boundingBox: Rect | 是 | 新增 | | ohos.multimedia.camera | MetadataOutput | on(type: 'error', callback: ErrorCallback<BusinessError>): void; | 是 | 新增 | | ohos.multimedia.camera | MetadataOutput | on(type: 'error', callback: ErrorCallback<BusinessError>): void; | 是 | 废弃 | | ohos.multimedia.camera | MetadataOutputErrorCode | ERROR_UNKNOWN = -1<br/>ERROR_INSUFFICIENT_RESOURCES = 0 | 是 | 废弃 | | ohos.multimedia.camera | MetadataOutputError | code: MetadataOutputErrorCode | 是 | 废弃 | **适酿Œ‡å¯¼** 除新增接å£ï¼Œå’ŒåºŸå¼ƒæŽ¥å£ä¹‹å¤–,开å‘者需è¦å…³æ³¨å˜æ›´çš„æŽ¥å£çš„适é…: 从 Beta4 版本开始,对以下接å£è¿›è¡Œè°ƒæ•´ï¼š **新增接å£** 1. CameraErrorCode 枚举 枚举值å称:INVALID_ARGUMENT, 值:7400101; 枚举值å称:OPERATION_NOT_ALLOWED, 值:7400102; 枚举值å称:SESSION_NOT_CONFIG, 值:7400103; 枚举值å称:SESSION_NOT_RUNNING, 值:7400104; 枚举值å称:SESSION_CONFIG_LOCKED, 值:7400105; 枚举值å称:DEVICE_SETTING_LOCKED, 值:7400106; 枚举值å称:CONFILICT_CAMERA, 值:7400107; 枚举值å称:DEVICE_DISABLED, 值:7400108; 枚举值å称:SERVICE_FATAL_ERROR, 值:7400201; 2. PhotoOutput æŽ¥å£æ–°å¢ž capture(): Promise<void>; 3. MetadataObject 接å£ä¸æ–°å¢ž readonly type: MetadataObjectType; 4. MetadataObject 接å£ä¸æ–°å¢ž readonly timestamp: number; 5. MetadataObject 接å£ä¸æ–°å¢ž readonly boundingBox: Rect; **废弃接å£** 1. CameraInput ä¸åºŸå¼ƒæŽ¥å£ release(callback: AsyncCallback<void>): void; ä»¥åŠ release(): Promise<void>; 2. 废弃枚举 CameraInputErrorCode ä»¥åŠæ‰€æœ‰å®ƒé‡Œè¾¹çš„æžšä¸¾å€¼ï¼ˆERROR_UNKNOWN = -1,ERROR_NO_PERMISSION = 0,ERROR_DEVICE_PREEMPTED = 1,ERROR_DEVICE_DISCONNECTED = 2,ERROR_DEVICE_IN_USE = 3,ERROR_DRIVER_ERROR = 4); 3. åºŸå¼ƒæŽ¥å£ CameraInputError ä»¥åŠæŽ¥å£å±žæ€§ code:CameraInputErrorCode; 4. 废弃枚举 CaptureSessionErrorCode ä»¥åŠæ‰€æœ‰å®ƒé‡Œè¾¹çš„æžšä¸¾å€¼ï¼ˆERROR_UNKNOWN = -1,ERROR_INSUFFICIENT_RESOURCES = 0,ERROR_TIMEOUT = 1); 5. åºŸå¼ƒæŽ¥å£ CaptureSessionError ä»¥åŠæŽ¥å£å±žæ€§ code: CaptureSessionErrorCode; 6. 废弃枚举 PreviewOutputErrorCode ä»¥åŠæ‰€æœ‰å®ƒé‡Œè¾¹çš„æžšä¸¾å€¼ï¼ˆERROR_UNKNOWN = -1); 7. åºŸå¼ƒæŽ¥å£ PreviewOutputError ä»¥åŠæŽ¥å£å±žæ€§ code: PreviewOutputErrorCode; 8. 废弃枚举 PhotoOutputErrorCode ä»¥åŠæ‰€æœ‰å®ƒé‡Œè¾¹çš„æžšä¸¾å€¼ï¼ˆERROR_UNKNOWN = -1,ERROR_DRIVER_ERROR = 0,ERROR_INSUFFICIENT_RESOURCES = 1,ERROR_TIMEOUT = 2); 9. åºŸå¼ƒæŽ¥å£ PhotoOutputError ä»¥åŠæŽ¥å£å±žæ€§ code:PhotoOutputErrorCode; 10. 废弃枚举 VideoOutputErrorCode ä»¥åŠæ‰€æœ‰å®ƒé‡Œè¾¹çš„æžšä¸¾å€¼ï¼ˆERROR_UNKNOWN = -1,ERROR_DRIVER_ERROR = 0); 11. åºŸå¼ƒæŽ¥å£ VideoOutputError ä»¥åŠæŽ¥å£å±žæ€§ code:VideoOutputErrorCode; 12. åºŸå¼ƒæŽ¥å£ MetadataObject ä¸ getType(callback: AsyncCallback<MetadataObjectType>): void; 13. åºŸå¼ƒæŽ¥å£ MetadataObject ä¸ getType(): Promise<MetadataObjectType>; 14. åºŸå¼ƒæŽ¥å£ MetadataObject ä¸ getTimestamp(callback: AsyncCallback<number>): void; 15. åºŸå¼ƒæŽ¥å£ MetadataObject ä¸ getTimestamp(): Promise<number>; 16. åºŸå¼ƒæŽ¥å£ MetadataObject ä¸ getBoundingBox(callback: AsyncCallback<Rect>): void; 17. åºŸå¼ƒæŽ¥å£ MetadataObject ä¸ getBoundingBox(): Promise<Rect>; 18. 废弃枚举 MetadataOutputErrorCode ä»¥åŠæ‰€æœ‰å®ƒé‡Œè¾¹çš„æžšä¸¾å€¼ï¼ˆERROR_UNKNOWN = -1,ERROR_INSUFFICIENT_RESOURCES = 0); 19. åºŸå¼ƒæŽ¥å£ MetadataOutputError ä»¥åŠæŽ¥å£å±žæ€§ code:MetadataOutputErrorCode; **接å£å˜æ›´** 1. camera 模å—ä¸æŽ¥å£ getCameraManager 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ getCameraManager(context: Context, callback: AsyncCallback<CameraManager>): void; ä»¥åŠ getCameraManager(context: Context): Promise<CameraManager>; å˜æ›´ä¸º getCameraManager(context: Context): CameraManager; å‚考代ç 如下: ``` let cameraManager = camera.getCameraManager(context); ``` 2. CameraManager ä¸æŽ¥å£ getSupportedCameras 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ getSupportedCameras(callback: AsyncCallback<Array<CameraDevice>>): void; ä»¥åŠ getSupportedCameras(): Promise<Array<CameraDevice>>; å˜æ›´ä¸º getSupportedCameras(): Array<CameraDevice>; å‚考代ç 如下: ``` let cameras = cameraManager.getSupportedCameras(); ``` 3. CameraManager ä¸æŽ¥å£ getSupportedOutputCapability 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ getSupportedOutputCapability(camera: CameraDevice, callback: AsyncCallback<CameraOutputCapability>): void; ä»¥åŠ getSupportedOutputCapability(camera: CameraDevice): Promise<CameraOutputCapability>; å˜æ›´ä¸º getSupportedOutputCapability(camera: CameraDevice): CameraOutputCapability; å‚考代ç 如下: ``` let cameraDevice = cameras[0]; let CameraOutputCapability = cameraManager.getSupportedOutputCapability(cameraDevice); ``` 4. CameraManager ä¸æŽ¥å£ createCameraInput(camera: CameraDevice) 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ createCameraInput(camera: CameraDevice, callback: AsyncCallback<CameraInput>): void; ä»¥åŠ createCameraInput(camera: CameraDevice): Promise<CameraInput>; å˜æ›´ä¸º createCameraInput(camera: CameraDevice): CameraInput; å‚考代ç 如下: ``` let cameraDevice = cameras[0]; let cameraInput = cameraManager.createCameraInput(cameraDevice); ``` 5. CameraManager ä¸æŽ¥å£ createCameraInput(position: CameraPosition, type: CameraType) 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback<CameraInput>): void; ä»¥åŠ createCameraInput(position: CameraPosition, type: CameraType): Promise<CameraInput>; å˜æ›´ä¸º createCameraInput(position: CameraPosition, type: CameraType): CameraInput; å‚考代ç 如下: ``` let cameraDevice = cameras[0]; let position = cameraDevice.cameraPosition; let type = cameraDevice.cameraType; let cameraInput = cameraManager.createCameraInput(position, type); ``` 6. CameraManager ä¸æŽ¥å£ createPreviewOutput 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ createPreviewOutput(profile: Profile, surfaceId: string, callback: AsyncCallback<PreviewOutput>): void; ä»¥åŠ createPreviewOutput(profile: Profile, surfaceId: string): Promise<PreviewOutput>; å˜æ›´ä¸º createPreviewOutput(profile: Profile, surfaceId: string): PreviewOutput; å‚考代ç 如下: ``` let profile = cameraoutputcapability.previewProfiles[0]; let previewOutput = cameraManager.createPreviewOutput(profile, surfaceId); ``` 7. CameraManager ä¸æŽ¥å£ createPhotoOutput 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ createPhotoOutput(profile: Profile, surfaceId: string, callback: AsyncCallback<PhotoOutput>): void; ä»¥åŠ createPhotoOutput(profile: Profile, surfaceId: string): Promise<PhotoOutput>; å˜æ›´ä¸º createPhotoOutput(profile: Profile, surfaceId: string): PhotoOutput; å‚考代ç 如下: ``` let profile = cameraoutputcapability.photoProfiles[0]; let photoOutput = cameraManager.createPhotoOutput(profile, surfaceId); ``` 8. CameraManager ä¸æŽ¥å£ createVideoOutput 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ createVideoOutput(profile: VideoProfile, surfaceId: string, callback: AsyncCallback<VideoOutput>): void; ä»¥åŠ createVideoOutput(profile: VideoProfile, surfaceId: string): Promise<VideoOutput>; å˜æ›´ä¸º createVideoOutput(profile: VideoProfile, surfaceId: string): VideoOutput; å‚考代ç 如下: ``` let profile = cameraoutputcapability.videoProfiles[0]; let videoOutput = cameraManager.createVideoOutput(profile, surfaceId); ``` 9. CameraManager ä¸æŽ¥å£ createMetadataOutput 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>, callback: AsyncCallback<MetadataOutput>): void; ä»¥åŠ createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>): Promise<MetadataOutput>; å˜æ›´ä¸º createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>): MetadataOutput; å‚考代ç 如下: ``` let metadataObjectTypes = cameraoutputcapability.supportedMetadataObjectTypes; let metadataOutput = cameraManager.createMetadataOutput(metadataObjectTypes); ``` 10. CameraManager ä¸æŽ¥å£ createCaptureSession 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ createCaptureSession(callback: AsyncCallback<CaptureSession>): void; ä»¥åŠ createCaptureSession(): Promise<CaptureSession>; å˜æ›´ä¸º createCaptureSession(): CaptureSession; å‚考代ç 如下: ``` let captureSession = cameraManager.createCaptureSession(); ``` 11. 枚举 CameraType ä¸ï¼Œæžšä¸¾å€¼åç§° CAMERA_TYPE_UNSPECIFIED å˜æ›´ä¸º CAMERA_TYPE_DEFAULT。 12. CameraInput ä¸ï¼Œon 接å£è¿”回值类型由 CameraInputError å˜æ›´ä¸º BusinessErrorï¼Œå› æ¤æ—§æŽ¥å£ on(type: 'error', camera: CameraDevice, callback: ErrorCallback<CameraInputError>): void; å˜æ›´ä¸º on(type: 'error', camera: CameraDevice, callback: ErrorCallback<BusinessError>): void; å‚考代ç 如下: ``` let cameraDevice = cameras[0]; cameraInput.on('error', cameraDevice, (BusinessError) => { }) ``` 13. CaptureSession ä¸æŽ¥å£ beginConfig 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ beginConfig(callback: AsyncCallback<void>): void; ä»¥åŠ beginConfig(): Promise<void>; å˜æ›´ä¸º beginConfig(): void; å‚考代ç 如下: ``` captureSession.beginConfig(); ``` 14. CaptureSession ä¸æŽ¥å£ addInput 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ addInput(cameraInput: CameraInput, callback: AsyncCallback<void>): void; ä»¥åŠ addInput(cameraInput: CameraInput): Promise<void>; å˜æ›´ä¸º addInput(cameraInput: CameraInput): void; å‚考代ç 如下: ``` captureSession.addInput(cameraInput); ``` 15. CaptureSession ä¸æŽ¥å£ removeInput 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ removeInput(cameraInput: CameraInput, callback: AsyncCallback<void>): void; ä»¥åŠ removeInput(cameraInput: CameraInput): Promise<void>; å˜æ›´ä¸º removeInput(cameraInput: CameraInput): void; å‚考代ç 如下: ``` captureSession.removeInput(cameraInput); ``` 16. CaptureSession ä¸æŽ¥å£ addOutput 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ addOutput(cameraOutput: CameraOutput, callback: AsyncCallback<void>): void; ä»¥åŠ addOutput(cameraOutput: CameraOutput): Promise<void>; å˜æ›´ä¸º addOutput(cameraOutput: CameraOutput): void; å‚考代ç 如下: ``` captureSession.addOutput(previewOutput); ``` 17. CaptureSession ä¸æŽ¥å£ removeOutput 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ removeOutput(cameraOutput: CameraOutput, callback: AsyncCallback<void>): void; ä»¥åŠ removeOutput(cameraOutput: CameraOutput): Promise<void>; å˜æ›´ä¸º removeOutput(cameraOutput: CameraOutput): void; å‚考代ç 如下: ``` captureSession.removeOutput(previewOutput); ``` 18. CaptureSession ä¸æŽ¥å£ hasFlash 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ hasFlash(callback: AsyncCallback<boolean>): void; ä»¥åŠ hasFlash(): Promise<boolean>; å˜æ›´ä¸º hasFlash(): boolean; å‚考代ç 如下: ``` let status = captureSession.hasFlash(); ``` 19. CaptureSession ä¸æŽ¥å£ isFlashModeSupported 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback<boolean>): void; ä»¥åŠ isFlashModeSupported(flashMode: FlashMode): Promise<boolean>; å˜æ›´ä¸º isFlashModeSupported(flashMode: FlashMode): boolean; å‚考代ç 如下: ``` let status = captureSession.isFlashModeSupported(camera.FlashMode.FLASH_MODE_AUTO); ``` 20. CaptureSession ä¸æŽ¥å£ getFlashMode 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ getFlashMode(callback: AsyncCallback<FlashMode>): void; ä»¥åŠ getFlashMode(): Promise<FlashMode>; å˜æ›´ä¸º getFlashMode(): FlashMode; å‚考代ç 如下: ``` let flashMode = captureSession.getFlashMode(); ``` 21. CaptureSession ä¸æŽ¥å£ isExposureModeSupported 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ isExposureModeSupported(aeMode: ExposureMode, callback: AsyncCallback<boolean>): void; ä»¥åŠ isExposureModeSupported(aeMode: ExposureMode): Promise<boolean>; å˜æ›´ä¸º isExposureModeSupported(aeMode: ExposureMode): boolean; å‚考代ç 如下: ``` let isSupported = captureSession.isExposureModeSupported(camera.ExposureMode.EXPOSURE_MODE_LOCKED); ``` 22. CaptureSession ä¸æŽ¥å£ getExposureMode 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ getExposureMode(callback: AsyncCallback<ExposureMode>): void; ä»¥åŠ getExposureMode(): Promise<ExposureMode>; å˜æ›´ä¸º getExposureMode(): ExposureMode; å‚考代ç 如下: ``` let exposureMode = captureSession.getExposureMode(); ``` 23. CaptureSession ä¸æŽ¥å£ setExposureMode 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ setExposureMode(aeMode: ExposureMode, callback: AsyncCallback<void>): void; ä»¥åŠ setExposureMode(aeMode: ExposureMode): Promise<void>; å˜æ›´ä¸º setExposureMode(aeMode: ExposureMode): void; å‚考代ç 如下: ``` captureSession.setExposureMode(camera.ExposureMode.EXPOSURE_MODE_LOCKED); ``` 24. CaptureSession ä¸æŽ¥å£ getMeteringPoint 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ getMeteringPoint(callback: AsyncCallback<Point>): void; ä»¥åŠ getMeteringPoint(): Promise<Point>; å˜æ›´ä¸º getMeteringPoint(): Point; å‚考代ç 如下: ``` let exposurePoint = captureSession.getMeteringPoint(); ``` 25. CaptureSession ä¸æŽ¥å£ setMeteringPoint 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ setMeteringPoint(point: Point, callback: AsyncCallback<void>): void; ä»¥åŠ setMeteringPoint(point: Point): Promise<void>; å˜æ›´ä¸º setMeteringPoint(point: Point): void; å‚考代ç 如下: ``` let Point2 = {x: 2, y: 2}; captureSession.setMeteringPoint(Point2); ``` 26. CaptureSession ä¸æŽ¥å£ getExposureBiasRange 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ getExposureBiasRange(callback: AsyncCallback<Array<number>>): void; ä»¥åŠ getExposureBiasRange(): Promise<Array<number>>; å˜æ›´ä¸º getExposureBiasRange(): Array<number>; å‚考代ç 如下: ``` let biasRangeArray = captureSession.getExposureBiasRange(); ``` 27. CaptureSession ä¸æŽ¥å£ setExposureBias 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ setExposureBias(exposureBias: number, callback: AsyncCallback<void>): void; ä»¥åŠ setExposureBias(exposureBias: number): Promise<void>; å˜æ›´ä¸º setExposureBias(exposureBias: number): void; å‚考代ç 如下: ``` let exposureBias = biasRangeArray[0]; captureSession.setExposureBias(exposureBias); ``` 28. CaptureSession ä¸æŽ¥å£ getExposureValue 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ getExposureValue(callback: AsyncCallback<number>): void; ä»¥åŠ getExposureValue(): Promise<number>; å˜æ›´ä¸º getExposureValue(): number; å‚考代ç 如下: ``` let exposureValue = captureSession.getExposureValue(); ``` 29. CaptureSession ä¸æŽ¥å£ isFocusModeSupported 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback<boolean>): void; ä»¥åŠ isFocusModeSupported(afMode: FocusMode): Promise<boolean>; å˜æ›´ä¸º isFocusModeSupported(afMode: FocusMode): boolean; å‚考代ç 如下: ``` let status = captureSession.isFocusModeSupported(camera.FocusMode.FOCUS_MODE_AUTO); ``` 30. CaptureSession ä¸æŽ¥å£ getFocusMode 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ getFocusMode(callback: AsyncCallback<FocusMode>): void; ä»¥åŠ getFocusMode(): Promise<FocusMode>; å˜æ›´ä¸º getFocusMode(): FocusMode; å‚考代ç 如下: ``` let afMode = captureSession.getFocusMode(); ``` 31. CaptureSession ä¸æŽ¥å£ setFocusMode 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ setFocusMode(afMode: FocusMode, callback: AsyncCallback<void>): void; ä»¥åŠ setFocusMode(afMode: FocusMode): Promise<void>; å˜æ›´ä¸º setFocusMode(afMode: FocusMode): void; å‚考代ç 如下: ``` captureSession.setFocusMode(camera.FocusMode.FOCUS_MODE_AUTO); ``` 32. CaptureSession ä¸æŽ¥å£ setFocusPoint 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ setFocusPoint(point: Point, callback: AsyncCallback<void>): void; ä»¥åŠ setFocusPoint(point: Point): Promise<void>; å˜æ›´ä¸º setFocusPoint(point: Point): void; å‚考代ç 如下: ``` let Point2 = {x: 2, y: 2}; captureSession.setFocusPoint(Point2); ``` 33. CaptureSession ä¸æŽ¥å£ getFocusPoint 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ getFocusPoint(callback: AsyncCallback<Point>): void; ä»¥åŠ getFocusPoint(): Promise<Point>; å˜æ›´ä¸º getFocusPoint(): Point; å‚考代ç 如下: ``` let point = captureSession.getFocusPoint(); ``` 34. CaptureSession ä¸æŽ¥å£ getFocalLength 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ getFocalLength(callback: AsyncCallback<number>): void; ä»¥åŠ getFocalLength(): Promise<number>; å˜æ›´ä¸º getFocalLength(): number; å‚考代ç 如下: ``` let focalLength = captureSession.getFocalLength(); ``` 35. CaptureSession ä¸æŽ¥å£ getZoomRatioRange 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ getZoomRatioRange(callback: AsyncCallback<Array<number>>): void; ä»¥åŠ getZoomRatioRange(): Promise<Array<number>>; å˜æ›´ä¸º getZoomRatioRange(): Array<number>; å‚考代ç 如下: ``` let zoomRatioRange = captureSession.getZoomRatioRange(); ``` 36. CaptureSession ä¸æŽ¥å£ getZoomRatio 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ getZoomRatio(callback: AsyncCallback<number>): void; ä»¥åŠ getZoomRatio(): Promise<number>; å˜æ›´ä¸º getZoomRatio(): number; å‚考代ç 如下: ``` let zoomRatio = captureSession.getZoomRatio(); ``` 37. CaptureSession ä¸æŽ¥å£ setZoomRatio 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ setZoomRatio(zoomRatio: number, callback: AsyncCallback<void>): void; ä»¥åŠ setZoomRatio(zoomRatio: number): Promise<void>; å˜æ›´ä¸º setZoomRatio(zoomRatio: number): void; å‚考代ç 如下: ``` let zoomRatio = zoomRatioRange[0]; captureSession.setZoomRatio(zoomRatio); ``` 38. CaptureSession ä¸æŽ¥å£ isVideoStabilizationModeSupported 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode, callback: AsyncCallback<boolean>): void; ä»¥åŠ isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): Promise<boolean>; å˜æ›´ä¸º isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): boolean; å‚考代ç 如下: ``` let isSupported = captureSession.isVideoStabilizationModeSupported(camera.VideoStabilizationMode.OFF); ``` 39. CaptureSession ä¸æŽ¥å£ getActiveVideoStabilizationMode 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ getActiveVideoStabilizationMode(callback: AsyncCallback<VideoStabilizationMode>): void; ä»¥åŠ getActiveVideoStabilizationMode(): Promise<VideoStabilizationMode>; å˜æ›´ä¸º getActiveVideoStabilizationMode(): VideoStabilizationMode; å‚考代ç 如下: ``` let vsMode = captureSession.getActiveVideoStabilizationMode(); ``` 40. CaptureSession ä¸æŽ¥å£ setVideoStabilizationMode 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ setVideoStabilizationMode(mode: VideoStabilizationMode, callback: AsyncCallback<void>): void; ä»¥åŠ setVideoStabilizationMode(mode: VideoStabilizationMode): Promise<void>; å˜æ›´ä¸º setVideoStabilizationMode(mode: VideoStabilizationMode): void; å‚考代ç 如下: ``` captureSession.setVideoStabilizationMode(camera.VideoStabilizationMode.OFF); ``` 41. CaptureSession ä¸ï¼Œon(type: 'error') callback 类型由 ErrorCallback<CaptureSessionError> å˜æ›´ä¸º ErrorCallback<BusinessError>ï¼Œå› æ¤æ—§æŽ¥å£ on(type: 'error', callback: ErrorCallback<CaptureSessionError>): void; å˜æ›´ä¸º on(type: 'error', callback: ErrorCallback<BusinessError>): void; å‚考代ç 如下: ``` captureSession.on('error', (BusinessError) => { }) ``` 42. PreviewOutput ä¸ï¼Œon(type: 'error') callback 类型由 ErrorCallback<PreviewOutputError> å˜æ›´ä¸º ErrorCallback<BusinessError>ï¼Œå› æ¤æ—§æŽ¥å£ on(type: 'error', callback: ErrorCallback<PreviewOutputError>): void; å˜æ›´ä¸º on(type: 'error', callback: ErrorCallback<BusinessError>): void; å‚考代ç 如下: ``` previewOutput.on('error', (BusinessError) => { }) ``` 43. PhotoOutput ä¸æŽ¥å£ isMirrorSupported 返回方å¼ç”±å¼‚æ¥ callback è·Ÿå¼‚æ¥ promise å˜æ›´ä¸ºåŒæ¥è¿”å›žï¼Œå› æ¤æ—§æŽ¥å£ isMirrorSupported(callback: AsyncCallback<boolean>): void; ä»¥åŠ isMirrorSupported(): Promise<boolean>; å˜æ›´ä¸º isMirrorSupported(): boolean; å‚考代ç 如下: ``` let isSupported = photoOutput.isMirrorSupported(); ``` 44. PhotoOutput ä¸ï¼Œon(type: 'error') callback 类型由 ErrorCallback<PhotoOutputError> å˜æ›´ä¸º ErrorCallback<BusinessError>ï¼Œå› æ¤æ—§æŽ¥å£ on(type: 'error', callback: ErrorCallback<PhotoOutputError>): void; å˜æ›´ä¸º on(type: 'error', callback: ErrorCallback<BusinessError>): void; å‚考代ç 如下: ``` PhotoOutput.on('error', (BusinessError) => { }) ``` 45. VideoOutput ä¸ï¼Œon(type: 'error') callback 类型由 ErrorCallback<VideoOutputError> å˜æ›´ä¸º ErrorCallback<BusinessError>ï¼Œå› æ¤æ—§æŽ¥å£ on(type: 'error', callback: ErrorCallback<VideoOutputError>): void; å˜æ›´ä¸º on(type: 'error', callback: ErrorCallback<BusinessError>): void; å‚考代ç 如下: ``` VideoOutput.on('error', (BusinessError) => { }) ``` 46. MetadataOutput ä¸ï¼Œon(type: 'error') callback 类型由 ErrorCallback<MetadataOutputError> å˜æ›´ä¸º ErrorCallback<BusinessError>ï¼Œå› æ¤æ—§æŽ¥å£ on(type: 'error', callback: ErrorCallback<MetadataOutputError>): void; å˜æ›´ä¸º on(type: 'error', callback: ErrorCallback<BusinessError>): void; å‚考代ç 如下: ``` MetadataOutput.on('error', (BusinessError) => { }) ```