1# 媒体子系统 JS API 变更 Changelog
2
3## cl.subsystemname.1 camera 接口变更
41. camera 部件在 API9 版本全量改为 SystemAPI
52. 基于以下原因新增部分功能接口以及废弃部分接口:
6
7提升开发者使用相机接口的便利。
8帮助开发者快速掌握相机开发接口,快速投入到开发当中。
9易于后续版本中框架功能的扩展,降低框架模块之间的耦合度。
10
11具体参考下方变更内容,开发者需要根据以下说明对应用进行适配。
12
13**变更影响**
14
15影响 API9 版本的 JS 接口,应用需要进行适配才可以在新版本 SDK 环境正常实现功能。
16
17**关键的接口/组件变更**
18
19| 模块名                 | 类名                    | 方法/属性/枚举/常量                                          | 是否为 SystemApi | 变更类型 |
20| ---------------------- | ----------------------- | ------------------------------------------------------------ | --------------- | -------- |
21| ohos.multimedia.camera | camera                  | function getCameraManager(context: Context): CameraManager;  | 是              | 新增     |
22| ohos.multimedia.camera | camera                  | function getCameraManager(context: Context, callback: AsyncCallback<CameraManager>): void;<br/>function getCameraManager(context: Context): Promise<CameraManager>;       | 是              | 废弃     |
23| 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                                                      | 是              | 新增     |
24| 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;                                 | 是              | 新增     |
25| 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>; | 是              | 废弃     |
26| ohos.multimedia.camera | CameraType              | CAMERA_TYPE_DEFAULT = 0                                                                           | 是              | 新增     |
27| ohos.multimedia.camera | CameraType              | CAMERA_TYPE_UNSPECIFIED = 0                                                                       | 是              | 废弃     |
28| ohos.multimedia.camera | CameraInput             | on(type: 'error', camera: CameraDevice, callback: ErrorCallback<BusinessError>): void;            | 是              | 新增     |
29| ohos.multimedia.camera | CameraInput             | release(callback: AsyncCallback<void>): void;<br/>release(): Promise<void>;<br/>on(type: 'error', camera: CameraDevice, callback: ErrorCallback<CameraInputError>): void; | 是              | 废弃     |
30| 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    | 是              | 废弃     |
31| ohos.multimedia.camera | CameraInputError        | code: CameraInputErrorCode                                                                        | 是              | 废弃     |
32| 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;                             | 是              | 新增     |
33| 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;                                     | 是              | 废弃     |
34| ohos.multimedia.camera | CaptureSessionErrorCode | ERROR_UNKNOWN = -1<br/>ERROR_INSUFFICIENT_RESOURCES = 0<br/>ERROR_TIMEOUT = 1  | 是              | 废弃     |
35| ohos.multimedia.camera | CaptureSessionError     | code: CaptureSessionErrorCode                                                  | 是              | 废弃     |
36| ohos.multimedia.camera | PreviewOutput           | on(type: 'error', callback: ErrorCallback<BusinessError>): void;               | 是              | 新增     |
37| ohos.multimedia.camera | PreviewOutput           | on(type: 'error', callback: ErrorCallback<PreviewOutputError>): void;          | 是              | 废弃     |
38| ohos.multimedia.camera | PreviewOutputErrorCode  | ERROR_UNKNOWN = -1                                                             | 是              | 废弃     |
39| ohos.multimedia.camera | PreviewOutputError      | code: PreviewOutputErrorCode                                                   | 是              | 废弃     |
40| ohos.multimedia.camera | PhotoOutput             | capture(): Promise<void>;<br/>isMirrorSupported(): boolean;<br/>on(type: 'error', callback: ErrorCallback<BusinessError>): void;                                              | 是              | 新增     |
41| ohos.multimedia.camera | PhotoOutput             | isMirrorSupported(callback: AsyncCallback<boolean>): void;<br/>isMirrorSupported(): Promise<boolean>;<br/>on(type: 'error', callback: ErrorCallback<PhotoOutputError>): void; | 是              | 废弃     |
42| ohos.multimedia.camera | PhotoOutputErrorCode    | ERROR_UNKNOWN = -1<br/>ERROR_DRIVER_ERROR = 0<br/>ERROR_INSUFFICIENT_RESOURCES = 1<br/>ERROR_TIMEOUT = 2 | 是              | 废弃     |
43| ohos.multimedia.camera | PhotoOutputError        | code: PhotoOutputErrorCode                                                                               | 是              | 废弃     |
44| ohos.multimedia.camera | VideoOutput             | on(type: 'error', callback: ErrorCallback<BusinessError>): void;                                         | 是              | 新增     |
45| ohos.multimedia.camera | VideoOutput             | on(type: 'error', callback: ErrorCallback<VideoOutputError>): void;                                      | 是              | 废弃     |
46| ohos.multimedia.camera | VideoOutputErrorCode    | ERROR_UNKNOWN = -1<br/>ERROR_DRIVER_ERROR = 0                                                            | 是              | 废弃     |
47| ohos.multimedia.camera | VideoOutputError        | code: VideoOutputErrorCode                                                                               | 是              | 废弃     |
48| ohos.multimedia.camera | MetadataObject          | readonly type: MetadataObjectType;<br/>readonly timestamp: number;                                       | 是              | 新增     |
49| 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>;                                                                                  | 是              | 废弃     |
50| ohos.multimedia.camera | MetadataFaceObject      | readonly boundingBox: Rect                                       | 是              | 新增     |
51| ohos.multimedia.camera | MetadataOutput          | on(type: 'error', callback: ErrorCallback<BusinessError>): void; | 是              | 新增     |
52| ohos.multimedia.camera | MetadataOutput          | on(type: 'error', callback: ErrorCallback<BusinessError>): void; | 是              | 废弃     |
53| ohos.multimedia.camera | MetadataOutputErrorCode | ERROR_UNKNOWN = -1<br/>ERROR_INSUFFICIENT_RESOURCES = 0          | 是              | 废弃     |
54| ohos.multimedia.camera | MetadataOutputError     | code: MetadataOutputErrorCode                                    | 是              | 废弃     |
55
56**适配指导**
57
58除新增接口,和废弃接口之外,开发者需要关注变更的接口的适配:
59
60从 Beta4 版本开始,对以下接口进行调整:
61
62**新增接口**
63
641. CameraErrorCode 枚举
65
66   枚举值名称:INVALID_ARGUMENT,       值:7400101;
67
68   枚举值名称:OPERATION_NOT_ALLOWED,  值:7400102;
69
70   枚举值名称:SESSION_NOT_CONFIG,     值:7400103;
71
72   枚举值名称:SESSION_NOT_RUNNING,    值:7400104;
73
74   枚举值名称:SESSION_CONFIG_LOCKED,  值:7400105;
75
76   枚举值名称:DEVICE_SETTING_LOCKED,  值:7400106;
77
78   枚举值名称:CONFILICT_CAMERA,       值:7400107;
79
80   枚举值名称:DEVICE_DISABLED,        值:7400108;
81
82   枚举值名称:SERVICE_FATAL_ERROR,    值:7400201;
83
842. PhotoOutput 接口新增 capture(): Promise<void>;
85
863. MetadataObject 接口中新增 readonly type: MetadataObjectType;
87
884. MetadataObject 接口中新增 readonly timestamp: number;
89
905. MetadataObject 接口中新增 readonly boundingBox: Rect;
91
92**废弃接口**
93
941. CameraInput 中废弃接口 release(callback: AsyncCallback<void>): void; 以及 release(): Promise<void>;
95
962. 废弃枚举 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);
97
983. 废弃接口 CameraInputError 以及接口属性 code:CameraInputErrorCode;
99
1004. 废弃枚举 CaptureSessionErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1,ERROR_INSUFFICIENT_RESOURCES = 0,ERROR_TIMEOUT = 1);
101
1025. 废弃接口 CaptureSessionError 以及接口属性 code: CaptureSessionErrorCode;
103
1046. 废弃枚举 PreviewOutputErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1);
105
1067. 废弃接口 PreviewOutputError 以及接口属性 code: PreviewOutputErrorCode;
107
1088. 废弃枚举 PhotoOutputErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1,ERROR_DRIVER_ERROR = 0,ERROR_INSUFFICIENT_RESOURCES = 1,ERROR_TIMEOUT = 2);
109
1109. 废弃接口 PhotoOutputError 以及接口属性 code:PhotoOutputErrorCode;
111
11210. 废弃枚举 VideoOutputErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1,ERROR_DRIVER_ERROR = 0);
113
11411. 废弃接口 VideoOutputError 以及接口属性 code:VideoOutputErrorCode;
115
11612. 废弃接口 MetadataObject 中 getType(callback: AsyncCallback<MetadataObjectType>): void;
117
11813. 废弃接口 MetadataObject 中 getType(): Promise<MetadataObjectType>;
119
12014. 废弃接口 MetadataObject 中 getTimestamp(callback: AsyncCallback<number>): void;
121
12215. 废弃接口 MetadataObject 中 getTimestamp(): Promise<number>;
123
12416. 废弃接口 MetadataObject 中 getBoundingBox(callback: AsyncCallback<Rect>): void;
125
12617. 废弃接口 MetadataObject 中 getBoundingBox(): Promise<Rect>;
127
12818. 废弃枚举 MetadataOutputErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1,ERROR_INSUFFICIENT_RESOURCES = 0);
129
13019. 废弃接口 MetadataOutputError 以及接口属性 code:MetadataOutputErrorCode;
131
132**接口变更**
133
1341. camera 模块中接口 getCameraManager 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getCameraManager(context: Context, callback: AsyncCallback<CameraManager>): void; 以及 getCameraManager(context: Context): Promise<CameraManager>; 变更为 getCameraManager(context: Context): CameraManager;
135
136   参考代码如下:
137
138   ```
139   let cameraManager = camera.getCameraManager(context);
140   ```
141
1422. CameraManager 中接口 getSupportedCameras 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getSupportedCameras(callback: AsyncCallback<Array<CameraDevice>>): void; 以及 getSupportedCameras(): Promise<Array<CameraDevice>>; 变更为 getSupportedCameras(): Array<CameraDevice>;
143
144   参考代码如下:
145
146   ```
147   let cameras = cameraManager.getSupportedCameras();
148   ```
149
1503. CameraManager 中接口 getSupportedOutputCapability 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getSupportedOutputCapability(camera: CameraDevice, callback: AsyncCallback<CameraOutputCapability>): void; 以及 getSupportedOutputCapability(camera: CameraDevice): Promise<CameraOutputCapability>; 变更为 getSupportedOutputCapability(camera: CameraDevice): CameraOutputCapability;
151
152   参考代码如下:
153
154   ```
155   let cameraDevice = cameras[0];
156   let CameraOutputCapability = cameraManager.getSupportedOutputCapability(cameraDevice);
157   ```
158
1594. CameraManager 中接口 createCameraInput(camera: CameraDevice) 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createCameraInput(camera: CameraDevice, callback: AsyncCallback<CameraInput>): void; 以及 createCameraInput(camera: CameraDevice): Promise<CameraInput>; 变更为 createCameraInput(camera: CameraDevice): CameraInput;
160
161   参考代码如下:
162
163   ```
164   let cameraDevice = cameras[0];
165   let cameraInput = cameraManager.createCameraInput(cameraDevice);
166   ```
167
1685. 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;
169
170   参考代码如下:
171
172   ```
173   let cameraDevice = cameras[0];
174   let position = cameraDevice.cameraPosition;
175   let type = cameraDevice.cameraType;
176   let cameraInput = cameraManager.createCameraInput(position, type);
177   ```
178
1796. 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;
180
181   参考代码如下:
182
183   ```
184   let profile = cameraoutputcapability.previewProfiles[0];
185   let previewOutput = cameraManager.createPreviewOutput(profile, surfaceId);
186   ```
187
1887. 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;
189
190   参考代码如下:
191
192   ```
193   let profile = cameraoutputcapability.photoProfiles[0];
194   let photoOutput = cameraManager.createPhotoOutput(profile, surfaceId);
195   ```
196
1978. 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;
198
199   参考代码如下:
200
201   ```
202   let profile = cameraoutputcapability.videoProfiles[0];
203   let videoOutput = cameraManager.createVideoOutput(profile, surfaceId);
204   ```
205
2069. CameraManager 中接口 createMetadataOutput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>, callback: AsyncCallback<MetadataOutput>): void; 以及 createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>): Promise<MetadataOutput>; 变更为 createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>): MetadataOutput;
207
208   参考代码如下:
209
210   ```
211   let metadataObjectTypes = cameraoutputcapability.supportedMetadataObjectTypes;
212   let metadataOutput = cameraManager.createMetadataOutput(metadataObjectTypes);
213   ```
214
21510. CameraManager 中接口 createCaptureSession 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createCaptureSession(callback: AsyncCallback<CaptureSession>): void; 以及 createCaptureSession(): Promise<CaptureSession>; 变更为 createCaptureSession(): CaptureSession;
216
217   参考代码如下:
218
219   ```
220   let captureSession = cameraManager.createCaptureSession();
221   ```
222
22311. 枚举 CameraType 中,枚举值名称 CAMERA_TYPE_UNSPECIFIED 变更为 CAMERA_TYPE_DEFAULT。
224
22512. CameraInput 中,on 接口返回值类型由 CameraInputError 变更为 BusinessError,因此旧接口 on(type: 'error', camera: CameraDevice, callback: ErrorCallback<CameraInputError>): void; 变更为 on(type: 'error', camera: CameraDevice, callback: ErrorCallback<BusinessError>): void;
226
227   参考代码如下:
228
229   ```
230   let cameraDevice = cameras[0];
231   cameraInput.on('error', cameraDevice, (BusinessError) => {
232
233   })
234   ```
235
23613. CaptureSession 中接口 beginConfig 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 beginConfig(callback: AsyncCallback<void>): void; 以及 beginConfig(): Promise<void>; 变更为 beginConfig(): void;
237
238   参考代码如下:
239
240   ```
241   captureSession.beginConfig();
242   ```
243
24414. CaptureSession 中接口 addInput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 addInput(cameraInput: CameraInput, callback: AsyncCallback<void>): void; 以及 addInput(cameraInput: CameraInput): Promise<void>; 变更为 addInput(cameraInput: CameraInput): void;
245
246   参考代码如下:
247
248   ```
249   captureSession.addInput(cameraInput);
250   ```
251
25215. CaptureSession 中接口 removeInput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 removeInput(cameraInput: CameraInput, callback: AsyncCallback<void>): void; 以及 removeInput(cameraInput: CameraInput): Promise<void>; 变更为 removeInput(cameraInput: CameraInput): void;
253
254   参考代码如下:
255
256   ```
257   captureSession.removeInput(cameraInput);
258   ```
259
26016. CaptureSession 中接口 addOutput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 addOutput(cameraOutput: CameraOutput, callback: AsyncCallback<void>): void; 以及 addOutput(cameraOutput: CameraOutput): Promise<void>; 变更为 addOutput(cameraOutput: CameraOutput): void;
261
262   参考代码如下:
263
264   ```
265   captureSession.addOutput(previewOutput);
266   ```
267
26817. CaptureSession 中接口 removeOutput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 removeOutput(cameraOutput: CameraOutput, callback: AsyncCallback<void>): void; 以及 removeOutput(cameraOutput: CameraOutput): Promise<void>; 变更为 removeOutput(cameraOutput: CameraOutput): void;
269
270   参考代码如下:
271
272   ```
273   captureSession.removeOutput(previewOutput);
274   ```
275
27618. CaptureSession 中接口 hasFlash 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 hasFlash(callback: AsyncCallback<boolean>): void; 以及 hasFlash(): Promise<boolean>; 变更为 hasFlash(): boolean;
277
278   参考代码如下:
279
280   ```
281   let status = captureSession.hasFlash();
282   ```
283
28419. CaptureSession 中接口 isFlashModeSupported 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback<boolean>): void; 以及 isFlashModeSupported(flashMode: FlashMode): Promise<boolean>; 变更为 isFlashModeSupported(flashMode: FlashMode): boolean;
285
286   参考代码如下:
287
288   ```
289   let status = captureSession.isFlashModeSupported(camera.FlashMode.FLASH_MODE_AUTO);
290   ```
291
29220. CaptureSession 中接口 getFlashMode 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getFlashMode(callback: AsyncCallback<FlashMode>): void; 以及 getFlashMode(): Promise<FlashMode>; 变更为 getFlashMode(): FlashMode;
293
294   参考代码如下:
295
296   ```
297   let flashMode = captureSession.getFlashMode();
298   ```
299
30021. CaptureSession 中接口 isExposureModeSupported 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 isExposureModeSupported(aeMode: ExposureMode, callback: AsyncCallback<boolean>): void; 以及 isExposureModeSupported(aeMode: ExposureMode): Promise<boolean>; 变更为 isExposureModeSupported(aeMode: ExposureMode): boolean;
301
302   参考代码如下:
303
304   ```
305   let isSupported = captureSession.isExposureModeSupported(camera.ExposureMode.EXPOSURE_MODE_LOCKED);
306   ```
307
30822. CaptureSession 中接口 getExposureMode 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getExposureMode(callback: AsyncCallback<ExposureMode>): void; 以及 getExposureMode(): Promise<ExposureMode>; 变更为 getExposureMode(): ExposureMode;
309
310   参考代码如下:
311
312   ```
313   let exposureMode = captureSession.getExposureMode();
314   ```
315
31623. CaptureSession 中接口 setExposureMode 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 setExposureMode(aeMode: ExposureMode, callback: AsyncCallback<void>): void; 以及 setExposureMode(aeMode: ExposureMode): Promise<void>; 变更为 setExposureMode(aeMode: ExposureMode): void;
317
318   参考代码如下:
319
320   ```
321   captureSession.setExposureMode(camera.ExposureMode.EXPOSURE_MODE_LOCKED);
322   ```
323
32424. CaptureSession 中接口 getMeteringPoint 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getMeteringPoint(callback: AsyncCallback<Point>): void; 以及 getMeteringPoint(): Promise<Point>; 变更为 getMeteringPoint(): Point;
325
326   参考代码如下:
327
328   ```
329   let exposurePoint = captureSession.getMeteringPoint();
330   ```
331
33225. CaptureSession 中接口 setMeteringPoint 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 setMeteringPoint(point: Point, callback: AsyncCallback<void>): void; 以及 setMeteringPoint(point: Point): Promise<void>; 变更为 setMeteringPoint(point: Point): void;
333
334   参考代码如下:
335
336   ```
337   let Point2 = {x: 2, y: 2};
338   captureSession.setMeteringPoint(Point2);
339   ```
340
34126. CaptureSession 中接口 getExposureBiasRange 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getExposureBiasRange(callback: AsyncCallback<Array<number>>): void; 以及 getExposureBiasRange(): Promise<Array<number>>; 变更为 getExposureBiasRange(): Array<number>;
342
343   参考代码如下:
344
345   ```
346   let biasRangeArray = captureSession.getExposureBiasRange();
347   ```
348
34927. CaptureSession 中接口 setExposureBias 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 setExposureBias(exposureBias: number, callback: AsyncCallback<void>): void; 以及 setExposureBias(exposureBias: number): Promise<void>; 变更为 setExposureBias(exposureBias: number): void;
350
351   参考代码如下:
352
353   ```
354   let exposureBias = biasRangeArray[0];
355   captureSession.setExposureBias(exposureBias);
356   ```
357
35828. CaptureSession 中接口 getExposureValue 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getExposureValue(callback: AsyncCallback<number>): void; 以及 getExposureValue(): Promise<number>; 变更为 getExposureValue(): number;
359
360   参考代码如下:
361
362   ```
363   let exposureValue = captureSession.getExposureValue();
364   ```
365
36629. CaptureSession 中接口 isFocusModeSupported 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback<boolean>): void; 以及 isFocusModeSupported(afMode: FocusMode): Promise<boolean>; 变更为 isFocusModeSupported(afMode: FocusMode): boolean;
367
368   参考代码如下:
369
370   ```
371   let status = captureSession.isFocusModeSupported(camera.FocusMode.FOCUS_MODE_AUTO);
372   ```
373
37430. CaptureSession 中接口 getFocusMode 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getFocusMode(callback: AsyncCallback<FocusMode>): void; 以及 getFocusMode(): Promise<FocusMode>; 变更为 getFocusMode(): FocusMode;
375
376   参考代码如下:
377
378   ```
379   let afMode = captureSession.getFocusMode();
380   ```
381
38231. CaptureSession 中接口 setFocusMode 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 setFocusMode(afMode: FocusMode, callback: AsyncCallback<void>): void; 以及 setFocusMode(afMode: FocusMode): Promise<void>; 变更为 setFocusMode(afMode: FocusMode): void;
383
384   参考代码如下:
385
386   ```
387   captureSession.setFocusMode(camera.FocusMode.FOCUS_MODE_AUTO);
388   ```
389
39032. CaptureSession 中接口 setFocusPoint 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 setFocusPoint(point: Point, callback: AsyncCallback<void>): void; 以及 setFocusPoint(point: Point): Promise<void>; 变更为 setFocusPoint(point: Point): void;
391
392   参考代码如下:
393
394   ```
395   let Point2 = {x: 2, y: 2};
396   captureSession.setFocusPoint(Point2);
397   ```
398
39933. CaptureSession 中接口 getFocusPoint 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getFocusPoint(callback: AsyncCallback<Point>): void; 以及 getFocusPoint(): Promise<Point>; 变更为 getFocusPoint(): Point;
400
401   参考代码如下:
402
403   ```
404   let point = captureSession.getFocusPoint();
405   ```
406
40734. CaptureSession 中接口 getFocalLength 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getFocalLength(callback: AsyncCallback<number>): void; 以及 getFocalLength(): Promise<number>; 变更为 getFocalLength(): number;
408
409   参考代码如下:
410
411   ```
412   let focalLength = captureSession.getFocalLength();
413   ```
414
41535. CaptureSession 中接口 getZoomRatioRange 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getZoomRatioRange(callback: AsyncCallback<Array<number>>): void; 以及 getZoomRatioRange(): Promise<Array<number>>; 变更为 getZoomRatioRange(): Array<number>;
416
417   参考代码如下:
418
419   ```
420   let zoomRatioRange = captureSession.getZoomRatioRange();
421   ```
422
42336. CaptureSession 中接口 getZoomRatio 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getZoomRatio(callback: AsyncCallback<number>): void; 以及 getZoomRatio(): Promise<number>; 变更为 getZoomRatio(): number;
424
425   参考代码如下:
426
427   ```
428   let zoomRatio = captureSession.getZoomRatio();
429   ```
430
43137. CaptureSession 中接口 setZoomRatio 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 setZoomRatio(zoomRatio: number, callback: AsyncCallback<void>): void; 以及 setZoomRatio(zoomRatio: number): Promise<void>; 变更为 setZoomRatio(zoomRatio: number): void;
432
433   参考代码如下:
434
435   ```
436   let zoomRatio = zoomRatioRange[0];
437   captureSession.setZoomRatio(zoomRatio);
438   ```
439
44038. CaptureSession 中接口 isVideoStabilizationModeSupported 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode, callback: AsyncCallback<boolean>): void; 以及 isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): Promise<boolean>; 变更为 isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): boolean;
441
442   参考代码如下:
443
444   ```
445   let isSupported = captureSession.isVideoStabilizationModeSupported(camera.VideoStabilizationMode.OFF);
446   ```
447
44839. CaptureSession 中接口 getActiveVideoStabilizationMode 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getActiveVideoStabilizationMode(callback: AsyncCallback<VideoStabilizationMode>): void; 以及 getActiveVideoStabilizationMode(): Promise<VideoStabilizationMode>; 变更为 getActiveVideoStabilizationMode(): VideoStabilizationMode;
449
450   参考代码如下:
451
452   ```
453   let vsMode = captureSession.getActiveVideoStabilizationMode();
454   ```
455
45640. CaptureSession 中接口 setVideoStabilizationMode 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 setVideoStabilizationMode(mode: VideoStabilizationMode, callback: AsyncCallback<void>): void; 以及 setVideoStabilizationMode(mode: VideoStabilizationMode): Promise<void>; 变更为 setVideoStabilizationMode(mode: VideoStabilizationMode): void;
457
458   参考代码如下:
459
460   ```
461   captureSession.setVideoStabilizationMode(camera.VideoStabilizationMode.OFF);
462   ```
463
46441. CaptureSession 中,on(type: 'error') callback 类型由 ErrorCallback<CaptureSessionError> 变更为 ErrorCallback<BusinessError>,因此旧接口 on(type: 'error', callback: ErrorCallback<CaptureSessionError>): void; 变更为 on(type: 'error', callback: ErrorCallback<BusinessError>): void;
465
466   参考代码如下:
467
468   ```
469   captureSession.on('error', (BusinessError) => {
470
471   })
472   ```
473
47442. PreviewOutput 中,on(type: 'error') callback 类型由 ErrorCallback<PreviewOutputError> 变更为 ErrorCallback<BusinessError>,因此旧接口 on(type: 'error', callback: ErrorCallback<PreviewOutputError>): void; 变更为 on(type: 'error', callback: ErrorCallback<BusinessError>): void;
475
476   参考代码如下:
477
478   ```
479   previewOutput.on('error', (BusinessError) => {
480
481   })
482   ```
483
48443. PhotoOutput 中接口 isMirrorSupported 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 isMirrorSupported(callback: AsyncCallback<boolean>): void; 以及 isMirrorSupported(): Promise<boolean>; 变更为 isMirrorSupported(): boolean;
485
486   参考代码如下:
487
488   ```
489   let isSupported = photoOutput.isMirrorSupported();
490   ```
491
49244. PhotoOutput 中,on(type: 'error') callback 类型由 ErrorCallback<PhotoOutputError> 变更为 ErrorCallback<BusinessError>,因此旧接口 on(type: 'error', callback: ErrorCallback<PhotoOutputError>): void; 变更为 on(type: 'error', callback: ErrorCallback<BusinessError>): void;
493
494   参考代码如下:
495
496   ```
497   PhotoOutput.on('error', (BusinessError) => {
498
499   })
500   ```
501
50245. VideoOutput 中,on(type: 'error') callback 类型由 ErrorCallback<VideoOutputError> 变更为 ErrorCallback<BusinessError>,因此旧接口 on(type: 'error', callback: ErrorCallback<VideoOutputError>): void; 变更为 on(type: 'error', callback: ErrorCallback<BusinessError>): void;
503
504   参考代码如下:
505
506   ```
507   VideoOutput.on('error', (BusinessError) => {
508
509   })
510   ```
511
51246. MetadataOutput 中,on(type: 'error') callback 类型由 ErrorCallback<MetadataOutputError> 变更为 ErrorCallback<BusinessError>,因此旧接口 on(type: 'error', callback: ErrorCallback<MetadataOutputError>): void; 变更为 on(type: 'error', callback: ErrorCallback<BusinessError>): void;
513
514   参考代码如下:
515
516   ```
517   MetadataOutput.on('error', (BusinessError) => {
518
519   })
520   ```