1# 媒体子系统JS API变更Changelog
2
3OpenHarmony3.2 Beta4版本相较于OpenHarmony3.2 Beta3版本,媒体子系统camera部件API变更如下
4
5## camera接口变更
6基于以下原因新增部分功能接口以及废弃部分接口:
71. 提升开发者使用相机接口的便利。
82. 帮助开发者快速掌握相机开发接口,快速投入到开发当中。
93. 易于后续版本中框架功能的扩展,降低框架模块之间的耦合度。
10
11具体参考下方变更内容,开发者需要根据以下说明对应用进行适配。
12
13 **变更影响**
14
15影响API9版本的JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。
16
17**关键的接口/组件变更**
18
19| 模块名                 | 类名                    | 方法/属性/枚举/常量                                          | 变更类型 |
20| ---------------------- | ----------------------- | ------------------------------------------------------------ | -------- |
21| ohos.multimedia.camera | Profile                 | readonly format:CameraFormat;                                | 新增     |
22| ohos.multimedia.camera | Profile                 | readonly size: Size;                                         | 新增     |
23| ohos.multimedia.camera | FrameRateRange          | readonly min: number;                                        | 新增     |
24| ohos.multimedia.camera | FrameRateRange          | readonly max: number;                                        | 新增     |
25| ohos.multimedia.camera | VideoProfile            | readonly frameRateRange: FrameRateRange;                     | 新增     |
26| ohos.multimedia.camera | CameraOutputCapability  | readonly previewProfiles: Array<Profile>;                    | 新增     |
27| ohos.multimedia.camera | CameraOutputCapability  | readonly photoProfiles: Array<Profile>;                      | 新增     |
28| ohos.multimedia.camera | CameraOutputCapability  | readonly videoProfiles: Array<VideoProfile>;                 | 新增     |
29| ohos.multimedia.camera | CameraOutputCapability  | readonly supportedMetadataObjectTypes: Array<MetadataObjectType>; | 新增     |
30| ohos.multimedia.camera | CameraManager           | getSupportedCameras(callback: AsyncCallback<Array<CameraDevice>>): void;<br/>getSupportedCameras(): Promise<Array<CameraDevice>>; | 新增     |
31| ohos.multimedia.camera | CameraManager           | getSupportedOutputCapability(camera: CameraDevice, callback: AsyncCallback<CameraOutputCapability>): void;<br/>getSupportedOutputCapability(camera: CameraDevice): Promise<CameraOutputCapability>; | 新增     |
32| ohos.multimedia.camera | CameraManager           | isCameraMuted(): boolean;                                    | 新增     |
33| ohos.multimedia.camera | CameraManager           | isCameraMuteSupported(): boolean;                            | 新增     |
34| ohos.multimedia.camera | CameraManager           | muteCamera(mute: boolean): void;                             | 新增     |
35| ohos.multimedia.camera | CameraManager           | createCameraInput(camera: CameraDevice, callback: AsyncCallback<CameraInput>): void;<br/>createCameraInput(camera: CameraDevice): Promise<CameraInput>; | 新增     |
36| ohos.multimedia.camera | CameraManager           | createPreviewOutput(profile: Profile, surfaceId: string, callback: AsyncCallback<PreviewOutput>): void;<br/>createPreviewOutput(profile: Profile, surfaceId: string): Promise<PreviewOutput>; | 新增     |
37| ohos.multimedia.camera | CameraManager           | createPhotoOutput(profile: Profile, surfaceId: string, callback: AsyncCallback<PhotoOutput>): void;<br/>createPhotoOutput(profile: Profile, surfaceId: string): Promise<PhotoOutput>; | 新增     |
38| ohos.multimedia.camera | CameraManager           | createVideoOutput(profile: VideoProfile, surfaceId: string, callback: AsyncCallback<VideoOutput>): void;<br/>createVideoOutput(profile: VideoProfile, surfaceId: string): Promise<VideoOutput>; | 新增     |
39| ohos.multimedia.camera | CameraManager           | createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>, callback: AsyncCallback<MetadataOutput>): void;<br/>createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>): Promise<MetadataOutput>; | 新增     |
40| ohos.multimedia.camera | CameraManager           | createCaptureSession(callback: AsyncCallback<CaptureSession>): void;<br/>createCaptureSession(): Promise<CaptureSession>; | 新增     |
41| ohos.multimedia.camera | CameraManager           | on(type: 'cameraMute', callback: AsyncCallback<boolean>): void; | 新增     |
42| ohos.multimedia.camera | CameraManager           | getCameras(callback: AsyncCallback<Array<Camera>>): void;<br/>getCameras(): Promise<Array<Camera>>; | 废弃     |
43| ohos.multimedia.camera | CameraManager           | createCameraInput(cameraId: string, callback: AsyncCallback<CameraInput>): void;<br/>createCameraInput(cameraId: string): Promise<CameraInput>; | 废弃     |
44| ohos.multimedia.camera | CameraManager           | createCaptureSession(context: Context, callback: AsyncCallback<CaptureSession>): void;<br/>createCaptureSession(context: Context): Promise<CaptureSession>; | 废弃     |
45| ohos.multimedia.camera | CameraManager           | createPreviewOutput(surfaceId: string, callback: AsyncCallback<PreviewOutput>): void;<br/>createPreviewOutput(surfaceId: string): Promise<PreviewOutput>; | 废弃     |
46| ohos.multimedia.camera | CameraManager           | CreatePhotoOutput(surfaceId: string, callback: AsyncCallback<PhotoOutput>): void;<br/>CreatePhotoOutput(surfaceId: string): Promise<PhotoOutput>; | 废弃     |
47| ohos.multimedia.camera | CameraManager           | createVideoOutput(surfaceId: string, callback: AsyncCallback<VideoOutput>): void;<br/>createVideoOutput(surfaceId: string): Promise<VideoOutput>; | 废弃     |
48| ohos.multimedia.camera | CameraManager           | createMetadataOutput(callback: AsyncCallback<MetadataOutput>): void;<br/>createVideoOutput(): Promise<MetadataOutput>; | 废弃     |
49| ohos.multimedia.camera | CameraStatusInfo        | camera: CameraDevice;                                        | 新增     |
50| ohos.multimedia.camera | CameraStatusInfo        | camera: Camera;                                              | 废弃     |
51| ohos.multimedia.camera | CameraDevice            | interface CameraDevice                                       | 新增     |
52| ohos.multimedia.camera | Camera                  | interface Camera                                             | 废弃     |
53| ohos.multimedia.camera | CameraInput             | open(callback: AsyncCallback<void>): void;<br/>open(): Promise<void>; | 新增     |
54| ohos.multimedia.camera | CameraInput             | close(callback: AsyncCallback<void>): void;<br/>close(): Promise<void>; | 新增     |
55| ohos.multimedia.camera | CameraInput             | on(type: 'error', camera: CameraDevice, callback: ErrorCallback<CameraInputError>): void; | 新增     |
56| ohos.multimedia.camera | CameraInput             | isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback<boolean>): void;<br/>isFocusModeSupported(afMode: FocusMode): Promise<boolean>; | 废弃     |
57| ohos.multimedia.camera | CameraInput             | getFocusMode(callback: AsyncCallback<FocusMode>): void;<br/>getFocusMode(): Promise<FocusMode>; | 废弃     |
58| ohos.multimedia.camera | CameraInput             | setFocusMode(afMode: FocusMode, callback: AsyncCallback<void>): void;<br/>setFocusMode(afMode: FocusMode): Promise<void>; | 废弃     |
59| ohos.multimedia.camera | CameraInput             | getZoomRatioRange(callback: AsyncCallback<Array<number>>): void;<br/>getZoomRatioRange(): Promise<Array<number>>; | 废弃     |
60| ohos.multimedia.camera | CameraInput             | getZoomRatio(callback: AsyncCallback<number>): void;<br/>getZoomRatio(): Promise<number>; | 废弃     |
61| ohos.multimedia.camera | CameraInput             | setZoomRatio(zoomRatio: number, callback: AsyncCallback<void>): void;<br/>setZoomRatio(zoomRatio: number): Promise<void>; | 废弃     |
62| ohos.multimedia.camera | CameraInput             | getCameraId(callback: AsyncCallback<string>): void;<br/>getCameraId(): Promise<string>; | 废弃     |
63| ohos.multimedia.camera | CameraInput             | getExposurePoint(callback: AsyncCallback<Point>): void;<br/>getExposurePoint(): Promise<Point>; | 废弃     |
64| ohos.multimedia.camera | CameraInput             | setExposurePoint(exposurePoint: Point, callback: AsyncCallback<void>): void;<br/>setExposurePoint(exposurePoint: Point): Promise<void>; | 废弃     |
65| ohos.multimedia.camera | CameraInput          | hasFlash(callback: AsyncCallback<boolean>): void;<br/>hasFlash(): Promise<boolean>;                                                                         | 废弃     |
66| ohos.multimedia.camera | CameraInput          | isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback<boolean>): void;<br/>isFlashModeSupported(flashMode: FlashMode): Promise<boolean>;       | 废弃     |
67| ohos.multimedia.camera | CameraInput          | getFlashMode(callback: AsyncCallback<FlashMode>): void;<br/>getFlashMode(): Promise<FlashMode>;                                                             | 废弃     |
68| ohos.multimedia.camera | CameraInput          | setFlashMode(flashMode: FlashMode, callback: AsyncCallback<void>): void;<br/>setFlashMode(flashMode: FlashMode): Promise<void>;                             | 废弃     |
69| ohos.multimedia.camera | CameraInput          | isExposureModeSupported(aeMode: ExposureMode, callback: AsyncCallback<boolean>): void;<br/>isExposureModeSupported(aeMode: ExposureMode): Promise<boolean>; | 废弃     |
70| ohos.multimedia.camera | CameraInput          | getExposureMode(callback: AsyncCallback<ExposureMode>): void;<br/>getExposureMode(): Promise<ExposureMode>;                                                 | 废弃     |
71| ohos.multimedia.camera | CameraInput          | setExposureMode(aeMode: ExposureMode, callback: AsyncCallback<void>): void;<br/>setExposureMode(aeMode: ExposureMode): Promise<void>;                       | 废弃     |
72| ohos.multimedia.camera | CameraInput          | getMeteringPoint(callback: AsyncCallback<Point>): void;<br/>getMeteringPoint(): Promise<Point>;                                                             | 废弃     |
73| ohos.multimedia.camera | CameraInput          | setMeteringPoint(point: Point, callback: AsyncCallback<void>): void;<br/>setMeteringPoint(point: Point): Promise<void>;                                     | 废弃     |
74| ohos.multimedia.camera | CameraInput          | getExposureBiasRange(callback: AsyncCallback<Array<number>>): void;<br/>getExposureBiasRange(): Promise<Array<number>>;                                     | 废弃     |
75| ohos.multimedia.camera | CameraInput          | setExposureBias(exposureBias: number, callback: AsyncCallback<void>): void;<br/>setExposureBias(exposureBias: number): Promise<void>;                       | 废弃     |
76| ohos.multimedia.camera | CameraInput          | getExposureValue(callback: AsyncCallback<number>): void;<br/>getExposureValue(): Promise<number>;                                                           | 废弃     |
77| ohos.multimedia.camera | CameraInput          | isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback<boolean>): void;<br/>isFocusModeSupported(afMode: FocusMode): Promise<boolean>;             | 废弃     |
78| ohos.multimedia.camera | CameraInput          | getFocusMode(callback: AsyncCallback<FocusMode>): void;<br/>getFocusMode(): Promise<FocusMode>;                                                             | 废弃     |
79| ohos.multimedia.camera | CameraInput          | setFocusMode(afMode: FocusMode, callback: AsyncCallback<void>): void;<br/>setFocusMode(afMode: FocusMode): Promise<void>;                                   | 废弃     |
80| ohos.multimedia.camera | CameraInput          | setFocusPoint(point: Point, callback: AsyncCallback<void>): void;<br/>setFocusPoint(point: Point): Promise<void>;                                           | 废弃     |
81| ohos.multimedia.camera | CameraInput          | getFocusPoint(callback: AsyncCallback<Point>): void;<br/>getFocusPoint(): Promise<Point>;                                                                   | 废弃     |
82| ohos.multimedia.camera | CameraInput          | getFocalLength(callback: AsyncCallback<number>): void;<br/>getFocalLength(): Promise<number>;                                                               | 废弃     |
83| ohos.multimedia.camera | CameraInput          | getZoomRatioRange(callback: AsyncCallback<Array<number>>): void;<br/>getZoomRatioRange(): Promise<Array<number>>;                                           | 废弃     |
84| ohos.multimedia.camera | CameraInput          | getZoomRatio(callback: AsyncCallback<number>): void;<br/>getZoomRatio(): Promise<number>;                                                                   | 废弃     |
85| ohos.multimedia.camera | CameraInput          | setZoomRatio(zoomRatio: number, callback: AsyncCallback<void>): void;<br/>setZoomRatio(zoomRatio: number): Promise<void>;                                   | 废弃     |
86| ohos.multimedia.camera | CameraInput             | on(type: 'focusStateChange', callback: AsyncCallback<FocusState>): void; | 废弃     |
87| ohos.multimedia.camera | CameraInput             | on(type: 'exposureStateChange', callback: AsyncCallback<ExposureState>): void; | 废弃     |
88| ohos.multimedia.camera | CameraInput             | on(type: 'error', callback: ErrorCallback<CameraInputError>): void; | 废弃     |
89| ohos.multimedia.camera | CameraInputErrorCode    | ERROR_NO_PERMISSION = 0                                      | 新增     |
90| ohos.multimedia.camera | CameraInputErrorCode    | ERROR_DEVICE_PREEMPTED = 1                                   | 新增     |
91| ohos.multimedia.camera | CameraInputErrorCode    | ERROR_DEVICE_DISCONNECTED = 2                                | 新增     |
92| ohos.multimedia.camera | CameraInputErrorCode    | ERROR_DEVICE_IN_USE = 3                                      | 新增     |
93| ohos.multimedia.camera | CameraInputErrorCode    | ERROR_DRIVER_ERROR = 4                                       | 新增     |
94| ohos.multimedia.camera | CameraFormat            | CAMERA_FORMAT_RGBA_8888 = 3                                  | 新增     |
95| ohos.multimedia.camera | ExposureMode            | EXPOSURE_MODE_AUTO = 1                                       | 新增     |
96| ohos.multimedia.camera | ExposureMode            | EXPOSURE_MODE_CONTINUOUS_AUTO = 2                            | 新增     |
97| ohos.multimedia.camera | ExposureMode            | EXPOSURE_MODE_AUTO                                      | 废弃     |
98| ohos.multimedia.camera | ExposureMode            | EXPOSURE_MODE_CONTINUOUS_AUTO                          | 废弃     |
99| ohos.multimedia.camera | VideoStabilizationMode  | LOW = 1                                                      | 新增     |
100| ohos.multimedia.camera | VideoStabilizationMode  | MIDDLE = 2                                                   | 新增     |
101| ohos.multimedia.camera | VideoStabilizationMode  | HIGH = 3                                                     | 新增     |
102| ohos.multimedia.camera | VideoStabilizationMode  | AUTO = 4                                                     | 新增     |
103| ohos.multimedia.camera | VideoStabilizationMode  | LOW                                                    | 废弃     |
104| ohos.multimedia.camera | VideoStabilizationMode  | MIDDLE                                                 | 废弃     |
105| ohos.multimedia.camera | VideoStabilizationMode  | HIGH                                                     | 废弃     |
106| ohos.multimedia.camera | VideoStabilizationMode  | AUTO                                                     | 废弃     |
107| ohos.multimedia.camera | CaptureSession          | addOutput(cameraOutput: CameraOutput, callback: AsyncCallback<void>): void;<br/>addOutput(cameraOutput: CameraOutput): Promise<void>; | 新增     |
108| ohos.multimedia.camera | CaptureSession          | removeOutput(cameraOutput: CameraOutput, callback: AsyncCallback<void>): void;<br/>removeOutput(cameraOutput: CameraOutput): Promise<void>; | 新增     |
109| ohos.multimedia.camera | CaptureSession          | isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode, callback: AsyncCallback<boolean>): void;<br/>isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): Promise<boolean>; | 新增     |
110| ohos.multimedia.camera | CaptureSession          | getActiveVideoStabilizationMode(callback: AsyncCallback<VideoStabilizationMode>): void;<br/>getActiveVideoStabilizationMode(): Promise<VideoStabilizationMode>; | 新增     |
111| ohos.multimedia.camera | CaptureSession          | setVideoStabilizationMode(mode: VideoStabilizationMode, callback: AsyncCallback<void>): void;<br/>setVideoStabilizationMode(mode: VideoStabilizationMode): Promise<void>; | 新增     |
112| ohos.multimedia.camera | CaptureSession          | on(type: 'focusStateChange', callback: AsyncCallback<FocusState>): void; | 新增     |
113| ohos.multimedia.camera | CaptureSession          | hasFlash(callback: AsyncCallback<boolean>): void;<br/>hasFlash(): Promise<boolean>;                                                                         | 新增     |
114| ohos.multimedia.camera | CaptureSession          | isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback<boolean>): void;<br/>isFlashModeSupported(flashMode: FlashMode): Promise<boolean>;       | 新增     |
115| ohos.multimedia.camera | CaptureSession          | getFlashMode(callback: AsyncCallback<FlashMode>): void;<br/>getFlashMode(): Promise<FlashMode>;                                                             | 新增     |
116| ohos.multimedia.camera | CaptureSession          | setFlashMode(flashMode: FlashMode, callback: AsyncCallback<void>): void;<br/>setFlashMode(flashMode: FlashMode): Promise<void>;                             | 新增     |
117| ohos.multimedia.camera | CaptureSession          | isExposureModeSupported(aeMode: ExposureMode, callback: AsyncCallback<boolean>): void;<br/>isExposureModeSupported(aeMode: ExposureMode): Promise<boolean>; | 新增     |
118| ohos.multimedia.camera | CaptureSession          | getExposureMode(callback: AsyncCallback<ExposureMode>): void;<br/>getExposureMode(): Promise<ExposureMode>;                                                 | 新增     |
119| ohos.multimedia.camera | CaptureSession          | setExposureMode(aeMode: ExposureMode, callback: AsyncCallback<void>): void;<br/>setExposureMode(aeMode: ExposureMode): Promise<void>;                       | 新增     |
120| ohos.multimedia.camera | CaptureSession          | getMeteringPoint(callback: AsyncCallback<Point>): void;<br/>getMeteringPoint(): Promise<Point>;                                                             | 新增     |
121| ohos.multimedia.camera | CaptureSession          | setMeteringPoint(point: Point, callback: AsyncCallback<void>): void;<br/>setMeteringPoint(point: Point): Promise<void>;                                     | 新增     |
122| ohos.multimedia.camera | CaptureSession          | getExposureBiasRange(callback: AsyncCallback<Array<number>>): void;<br/>getExposureBiasRange(): Promise<Array<number>>;                                     | 新增     |
123| ohos.multimedia.camera | CaptureSession          | setExposureBias(exposureBias: number, callback: AsyncCallback<void>): void;<br/>setExposureBias(exposureBias: number): Promise<void>;                       | 新增     |
124| ohos.multimedia.camera | CaptureSession          | getExposureValue(callback: AsyncCallback<number>): void;<br/>getExposureValue(): Promise<number>;                                                           | 新增     |
125| ohos.multimedia.camera | CaptureSession          | isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback<boolean>): void;<br/>isFocusModeSupported(afMode: FocusMode): Promise<boolean>;             | 新增     |
126| ohos.multimedia.camera | CaptureSession          | getFocusMode(callback: AsyncCallback<FocusMode>): void;<br/>getFocusMode(): Promise<FocusMode>;                                                             | 新增     |
127| ohos.multimedia.camera | CaptureSession          | setFocusMode(afMode: FocusMode, callback: AsyncCallback<void>): void;<br/>setFocusMode(afMode: FocusMode): Promise<void>;                                   | 新增     |
128| ohos.multimedia.camera | CaptureSession          | setFocusPoint(point: Point, callback: AsyncCallback<void>): void;<br/>setFocusPoint(point: Point): Promise<void>;                                           | 新增     |
129| ohos.multimedia.camera | CaptureSession          | getFocusPoint(callback: AsyncCallback<Point>): void;<br/>getFocusPoint(): Promise<Point>;                                                                   | 新增     |
130| ohos.multimedia.camera | CaptureSession          | getFocalLength(callback: AsyncCallback<number>): void;<br/>getFocalLength(): Promise<number>;                                                               | 新增     |
131| ohos.multimedia.camera | CaptureSession          | getZoomRatioRange(callback: AsyncCallback<Array<number>>): void;<br/>getZoomRatioRange(): Promise<Array<number>>;                                           | 新增     |
132| ohos.multimedia.camera | CaptureSession          | getZoomRatio(callback: AsyncCallback<number>): void;<br/>getZoomRatio(): Promise<number>;                                                                   | 新增     |
133| ohos.multimedia.camera | CaptureSession          | setZoomRatio(zoomRatio: number, callback: AsyncCallback<void>): void;<br/>setZoomRatio(zoomRatio: number): Promise<void>;                                   | 新增     |
134| ohos.multimedia.camera | CaptureSession          | addOutput(previewOutput: PreviewOutput, callback: AsyncCallback<void>): void;<br/>addOutput(previewOutput: PreviewOutput): Promise<void>;<br/>addOutput(photoOutput: PhotoOutput, callback: AsyncCallback<void>): void;<br/>addOutput(photoOutput: PhotoOutput): Promise<void>;<br/>addOutput(videoOutput: VideoOutput, callback: AsyncCallback<void>): void;<br/>addOutput(videoOutput: VideoOutput): Promise<void>; | 废弃     |
135| ohos.multimedia.camera | CaptureSession          | removeOutput(previewOutput: PreviewOutput, callback: AsyncCallback<void>): void;<br/>removeOutput(previewOutput: PreviewOutput): Promise<void>;<br/>removeOutput(photoOutput: PhotoOutput, callback: AsyncCallback<void>): void;<br/>removeOutput(photoOutput: PhotoOutput): Promise<void>;removeOutput(videoOutput: VideoOutput, callback: AsyncCallback<void>): void;<br/>removeOutput(videoOutput: VideoOutput): Promise<void>;<br/>removeOutput(metadataOutput: MetadataOutput, callback: AsyncCallback<void>): void;<br/>removeOutput(metadataOutput: MetadataOutput): Promise<void>; | 废弃     |
136| ohos.multimedia.camera | CaptureSessionErrorCode | ERROR_INSUFFICIENT_RESOURCES = 0                             | 新增     |
137| ohos.multimedia.camera | CaptureSessionErrorCode | ERROR_TIMEOUT = 1                                            | 新增     |
138| ohos.multimedia.camera | CameraOutput            | release(callback: AsyncCallback<void>): void;<br/>release(): Promise<void>; | 新增     |
139| ohos.multimedia.camera | PreviewOutput           | start(callback: AsyncCallback<void>): void;<br/>start(): Promise<void>; | 新增     |
140| ohos.multimedia.camera | PreviewOutput           | stop(callback: AsyncCallback<void>): void;<br/>stop(): Promise<void>; | 新增     |
141| ohos.multimedia.camera | PreviewOutput           | release(callback: AsyncCallback<void>): void;<br/>release(): Promise<void>; | 废弃     |
142| ohos.multimedia.camera | PhotoOutput             | release(callback: AsyncCallback<void>): void;<br/>release(): Promise<void>; | 废弃     |
143| ohos.multimedia.camera | VideoOutput             | release(callback: AsyncCallback<void>): void;<br/>release(): Promise<void>; | 废弃     |
144| ohos.multimedia.camera | PhotoCaptureSetting     | mirror?: boolean;                                            | 新增     |
145| ohos.multimedia.camera | PhotoOutputErrorCode    | ERROR_DRIVER_ERROR = 0                                       | 新增     |
146| ohos.multimedia.camera | PhotoOutputErrorCode    | ERROR_INSUFFICIENT_RESOURCES = 1                             | 新增     |
147| ohos.multimedia.camera | PhotoOutputErrorCode    | ERROR_TIMEOUT = 2                                            | 新增     |
148| ohos.multimedia.camera | VideoOutputErrorCode    | ERROR_DRIVER_ERROR = 0                                       | 新增     |
149| ohos.multimedia.camera | MetadataObjectType      | FACE_DETECTION = 0                                           | 新增     |
150| ohos.multimedia.camera | MetadataObjectType      | FACE = 0                                                 | 废弃     |
151| ohos.multimedia.camera | MetadataOutput          | on(type: 'error', callback: ErrorCallback<MetadataOutputError>): void; | 新增     |
152| ohos.multimedia.camera | MetadataOutput      | setCapturingMetadataObjectTypes(metadataObjectTypes: Array<MetadataObjectType>, callback: AsyncCallback<void>): void;<br/>setCapturingMetadataObjectTypes(metadataObjectTypes: Array<MetadataObjectType>): Promise<void>;    | 废弃     |
153| ohos.multimedia.camera | MetadataOutput      | getSupportedMetadataObjectTypes(callback: AsyncCallback<Array<MetadataObjectType>>): void;<br/>getSupportedMetadataObjectTypes(): Promise<Array<MetadataObjectType>>;    | 废弃     |
154| ohos.multimedia.camera | MetadataOutputErrorCode | ERROR_UNKNOWN = -1                                           | 新增     |
155| ohos.multimedia.camera | MetadataOutputErrorCode | ERROR_INSUFFICIENT_RESOURCES = 0                             | 新增     |
156| ohos.multimedia.camera | MetadataOutputError     | code: MetadataOutputErrorCode;                              | 新增     |
157
158**适配指导**
159
160除新增接口,和废弃接口之外,开发者需要关注变更的接口的适配:
161
162从Beta4版本开始,对以下接口进行调整:
163
164**新增接口**
165
1661. Profile接口
167
168   属性1:readonly format,类型:CameraFormat;
169
170   属性2:readonly size,类型:Size;
171
1722. FrameRateRange接口
173
174   属性1:readonly min,类型:number;
175
176   属性2:readonly max,类型:number;
177
1783. VideoProfile接口,继承自Profile
179
180   属性:readonly frameRateRange,类型:FrameRateRange;
181
1824. CameraOutputCapability接口
183
184   属性1:readonly previewProfiles,类型:Array<Profile>;
185
186   属性2:readonly photoProfiles,类型:Array<Profile>;
187
188   属性3:readonly videoProfiles,类型:Array<VideoProfile>;
189
190   属性4:readonly supportedMetadataObjectTypes,类型:Array<MetadataObjectType>;
191
1925. CameraManager中新增
193
194   getSupportedOutputCapability(camera: CameraDevice, callback: AsyncCallback<CameraOutputCapability>): void;
195
196   getSupportedOutputCapability(camera: CameraDevice): Promise<CameraOutputCapability>;
197
198   参考代码如下:
199
200   ```
201   cameraManager.getSupportedCameras().then((cameras) => {
202       let cameraDevice = cameras[0];
203       cameraManager.getSupportedOutputCapability(cameraDevice, (err, CameraOutputCapability) => {
204           if (err) {
205               console.error(`Failed to get the outputCapability. ${err.message}`);
206               return;
207           }
208           console.log('Callback returned with an array of supported outputCapability');
209       })
210   })
211   ```
212
213   ```
214   cameraManager.getSupportedCameras().then((cameras) => {
215       let cameraDevice = cameras[0];
216       cameraManager.getSupportedOutputCapability(cameraDevice).then((cameraoutputcapability) => {
217           console.log('Promise returned with an array of supported outputCapability');
218       })
219   })
220   ```
221
2226. CameraManager中新增isCameraMuted(): boolean;
223
224   参考代码如下:
225
226   ```
227   let ismuted = cameraManager.isCameraMuted();
228   ```
229
2307. CameraManager中新增isCameraMuteSupported(): boolean;
231
232   参考代码如下:
233
234   ```
235   let ismutesuppotred = cameraManager.isCameraMuteSupported();
236   ```
237
2388. CameraManager中新增muteCamera(mute: boolean): void;
239
240   参考代码如下:
241
242   ```
243   let mute = true;
244   cameraManager.muteCamera(mute);
245   ```
246
2479. CameraManager中新增on(type: 'cameraMute', callback: AsyncCallback<boolean>): void;
248
249   参考代码如下:
250
251   ```
252   cameraManager.on('cameraMute', (err, curMuetd) => {
253       if (err) {
254           console.error(`Failed to get cameraMute callback. ${err.message}`);
255           return;
256       }
257   })
258   ```
259
26010. CameraInput中新增open(callback: AsyncCallback<void>): void;以及open(): Promise<void>;
261
262参考代码如下:
263
264```
265cameraInput.open((err) => {
266    if (err) {
267        console.error(`Failed to open the camera. ${err.message}`);
268        return;
269    }
270    console.log('Callback returned with camera opened.');
271})
272```
273
274```
275cameraInput.open().then(() => {
276    console.log('Promise returned with camera opened.');
277})
278```
279
28011. CameraInput中新增close(callback: AsyncCallback<void>): void;以及close(): Promise<void>;
281
282    参考代码如下:
283
284    ```
285    cameraInput.close((err) => {
286        if (err) {
287            console.error(`Failed to close the cameras. ${err.message}`);
288            return;
289        }
290        console.log('Callback returned with camera closed.');
291    })
292    ```
293
294    ```
295    cameraInput.close().then(() => {
296        console.log('Promise returned with camera closed.');
297    })
298    ```
299
30012. 枚举CameraInputErrorCode中新增
301
302    枚举值名称:ERROR_NO_PERMISSION,值:0;
303
304    枚举值名称:ERROR_DEVICE_PREEMPTED,值:1;
305
306    枚举值名称:ERROR_DEVICE_DISCONNECTED,值:2;
307
308    枚举值名称:ERROR_DEVICE_IN_USE,值:3;
309
310    枚举值名称:ERROR_DRIVER_ERROR,值:4;
311
31213. 枚举CameraFormat中新增
313
314    枚举值名称:CAMERA_FORMAT_RGBA_8888,值:3;
315
31614. CaptureSession中新增getMeteringPoint(callback: AsyncCallback<Point>): void;以及getMeteringPoint(): Promise<Point>;
317
318    参考代码如下:
319
320    ```
321    captureSession.getMeteringPoint((err, exposurePoint) => {
322        if (err) {
323            console.log(`Failed to get the current exposure point ${err.message}`);
324            return ;
325        }
326        console.log(`Callback returned with current exposure point: ${exposurePoint}`);
327    })
328    ```
329
330    ```
331    captureSession.getMeteringPoint().then((exposurePoint) => {
332        console.log(`Promise returned with current exposure point : ${exposurePoint}`);
333    })
334    ```
335
33615. CaptureSession中新增setMeteringPoint(point: Point, callback: AsyncCallback<void>): void;以及setMeteringPoint(point: Point): Promise<void>;
337
338    参考代码如下:
339
340    ```
341    const Point1 = {x: 1, y: 1};
342
343    captureSession.setMeteringPoint(Point1,(err) => {
344        if (err) {
345            console.log(`Failed to set the exposure point ${err.message}`);
346            return ;
347        }
348        console.log('Callback returned with the successful execution of setMeteringPoint');
349    })
350    ```
351
352    ```
353    const Point2 = {x: 2, y: 2};
354
355    captureSession.setMeteringPoint(Point2).then(() => {
356        console.log('Promise returned with the successful execution of setMeteringPoint');
357    })
358    ```
359
36016. 枚举CaptureSessionErrorCode中新增
361
362    枚举值名称:ERROR_INSUFFICIENT_RESOURCES,值:0;
363
364    枚举值名称:ERROR_TIMEOUT,值:1;
365
36617. 新增接口CameraOutput,接口下有release(callback: AsyncCallback<void>): void;以及release(): Promise<void>;方法
367
368    参考代码如下:用previewOutput做示例
369
370    ```
371    previewOutput.release((err) => {
372        if (err) {
373            console.error(`Failed to release the PreviewOutput instance ${err.message}`);
374            return;
375        }
376        console.log('Callback invoked to indicate that the PreviewOutput instance is released successfully.');
377    });
378    ```
379
380    ```
381    previewOutput.release().then(() => {
382        console.log('Promise returned to indicate that the PreviewOutput instance is released successfully.');
383    })
384    ```
385
38618. PreviewOutput中新增start(callback: AsyncCallback<void>): void;以及start(): Promise<void>;
387
388    参考代码如下
389
390    ```
391    previewOutput.start((err) => {
392        if (err) {
393            console.error(`Failed to start the previewOutput. ${err.message}`);
394            return;
395        }
396        console.log('Callback returned with previewOutput started.');
397    })
398    ```
399
400    ```
401    previewOutput.start().then(() => {
402        console.log('Promise returned with previewOutput started.');
403    })
404    ```
405
40619. PreviewOutput中新增stop(callback: AsyncCallback<void>): void;以及stop(): Promise<void>;
407
408    参考代码如下
409
410    ```
411    previewOutput.stop((err) => {
412        if (err) {
413            console.error(`Failed to stop the previewOutput. ${err.message}`);
414            return;
415        }
416        console.log('Callback returned with previewOutput stopped.');
417    })
418    ```
419
420    ```
421    previewOutput.stop().then(() => {
422        console.log('Callback returned with previewOutput stopped.');
423    })
424    ```
425
42620. PhotoCaptureSetting接口
427
428    属性1:mirror?,类型:boolean;
429
43021. 枚举PhotoOutputErrorCode中新增
431
432    枚举值名称:ERROR_DRIVER_ERROR,值:0;
433
434    枚举值名称:ERROR_INSUFFICIENT_RESOURCES,值:1;
435
436    枚举值名称:ERROR_TIMEOUT,值:2;
437
43822. 枚举VideoOutputErrorCode中新增
439
440    枚举值名称:ERROR_DRIVER_ERROR,值:0;
441
44223. MetadataOutput中新增on(type: 'error', callback: ErrorCallback<MetadataOutputError>): void;
443
444    参考代码如下
445
446    ```
447    metadataOutput.on('error', (metadataOutputError) => {
448        console.log(`Metadata output error code: ${metadataOutputError.code}`);
449    })
450    ```
451
45224. MetadataOutputErrorCode枚举
453
454    枚举值名称:ERROR_UNKNOWN,值:-1;
455
456    枚举值名称:ERROR_INSUFFICIENT_RESOURCES,值:0;
457
45825. MetadataOutputError接口
459
460    属性名称:code,值:MetadataOutputErrorCode
461
462**废弃接口**
463
4641. CameraInput中废弃接口on(type: 'exposureStateChange', callback: AsyncCallback<ExposureState>): void;
465
4662. previewOutput中废弃接口release(callback: AsyncCallback<void>): void;以及release(): Promise<void>;
467
4683. metadataOutput中废弃接口
469
470   setCapturingMetadataObjectTypes(metadataObjectTypes: Array<MetadataObjectType>, callback: AsyncCallback<void>): void;<br/>setCapturingMetadataObjectTypes(metadataObjectTypes: Array<MetadataObjectType>): Promise<void>;
471
4724. metadataOutput中废弃接口
473
474   getSupportedMetadataObjectTypes(callback: AsyncCallback<Array<MetadataObjectType>>): void;<br/>getSupportedMetadataObjectTypes(): Promise<Array<MetadataObjectType>>;
475
4765. PreviewOutput中废弃接口release(callback: AsyncCallback<void>): void;以及release(): Promise<void>;
477
4786. PhotoOutput中废弃接口release(callback: AsyncCallback<void>): void;以及release(): Promise<void>;
479
4807. VideoOutput中废弃接口release(callback: AsyncCallback<void>): void;以及release(): Promise<void>;
481
4828. CameraInput中废弃接口getCameraId(callback: AsyncCallback<string>): void;以及getCameraId(): Promise<string>;
483
4849. CameraInput中废弃接口getExposurePoint(callback: AsyncCallback<Point>): void;以及getExposurePoint(): Promise<Point>;
485
48610. CameraInput中废弃接口setExposurePoint(exposurePoint: Point, callback: AsyncCallback<void>): void;以及setExposurePoint(exposurePoint: Point): Promise<void>;
487
488**接口变更**
489
4901. CameraManager中接口getCameras返回值由Array<Camera>变更为Array<CameraDevice>,接口名由getCameras 更换为 getSupportedCameras,因此旧接口getCameras(callback: AsyncCallback<Array<Camera>>): void;以及getCameras(): Promise<Array<Camera>>;变更为getSupportedCameras(callback: AsyncCallback<Array<CameraDevice>>): void和getSupportedCameras(): Promise<Array<CameraDevice>>;
491
492   参考代码如下:
493
494   ```
495   cameraManager.getSupportedCameras((err, cameras) => {
496       if (err) {
497           console.error(`Failed to get the cameras. ${err.message}`);
498           return;
499       }
500       console.log(`Callback returned with an array of supported cameras: ${cameras.length}`);
501   })
502   ```
503
504   ```
505   cameraManager.getSupportedCameras().then((cameras) => {
506       console.log(`Promise returned with an array of supported cameras: ${cameras.length}`);
507   })
508   ```
509
5102. CameraManager中接口createCameraInput传递参数由原来cameraId: string变更为camera: CameraDevice,因此旧接口createCameraInput(cameraId: string, callback: AsyncCallback<CameraInput>): void;以及createCameraInput(cameraId: string): Promise<CameraInput>;变更为createCameraInput(camera: CameraDevice, callback: AsyncCallback<CameraInput>): void;和createCameraInput(camera: CameraDevice): Promise<CameraInput>;
511
512   参考代码如下:
513
514   ```
515   let cameraDevice = cameras[0];
516   cameraManager.createCameraInput(cameraDevice, (err, cameraInput) => {
517       if (err) {
518           console.error(`Failed to create the CameraInput instance. ${err.message}`);
519           return;
520       }
521       console.log('Callback returned with the CameraInput instance.');
522   })
523   ```
524
525   ```
526   let cameraDevice = cameras[0];
527   cameraManager.createCameraInput(cameraDevice).then((cameraInput) => {
528       console.log('Promise returned with the CameraInput instance');
529   })
530   ```
531
5323. CameraManager中接口createPreviewOutput新增传递参数profile: Profile,profile参数由getSupportedOutputCapability接口获取,因此旧接口createPreviewOutput(surfaceId: string, callback: AsyncCallback<PreviewOutput>): void;以及createPreviewOutput(surfaceId: string): Promise<PreviewOutput>;变更为createPreviewOutput(profile: Profile, surfaceId: string, callback: AsyncCallback<PreviewOutput>): void;createPreviewOutput(profile: Profile, surfaceId: string): Promise<PreviewOutput>;
533
534   参考代码如下:
535
536   ```
537   let profile = cameraoutputcapability.previewProfiles[0];
538   cameraManager.createPreviewOutput(profile, surfaceId, (err, previewOutput) => {
539       if (err) {
540           console.error(`Failed to gcreate previewOutput. ${err.message}`);
541           return;
542       }
543       console.log('Callback returned with previewOutput created.');
544   })
545   ```
546
547   ```
548   let profile = cameraoutputcapability.previewProfiles[0];
549   cameraManager.createPreviewOutput(profile, surfaceId).then((previewOutput) => {
550       console.log('Promise returned with previewOutput created.');
551   })
552   ```
553
5544. CameraManager中接口createPhotoOutput新增传递参数profile: Profile,profile参数由getSupportedOutputCapability接口获取,因此旧接口CreatePhotoOutput(surfaceId: string, callback: AsyncCallback<PhotoOutput>): void;以及CreatePhotoOutput(surfaceId: string): Promise<PhotoOutput>;变更为createPhotoOutput(profile: Profile, surfaceId: string, callback: AsyncCallback<PhotoOutput>): void;和createPhotoOutput(profile: Profile, surfaceId: string): Promise<PhotoOutput>;
555
556   参考代码如下:
557
558   ```
559   let profile = cameraoutputcapability.photoProfiles[0];
560   cameraManager.createPhotoOutput(profile, surfaceId, (err, photoOutput) => {
561       if (err) {
562           console.error(`Failed to create photoOutput. ${err.message}`);
563           return;
564       }
565       console.log('Callback returned with photoOutput created.');
566   })
567   ```
568
569   ```
570   let profile = cameraoutputcapability.photoProfiles[0];
571   cameraManager.createPhotoOutput(profile, surfaceId).then((photoOutput) => {
572       console.log('Promise returned with photoOutput created.');
573   })
574   ```
575
5765. CameraManager中接口createVideoOutput新增传递参数profile: Profile,profile参数由getSupportedOutputCapability接口获取,因此旧接口createVideoOutput(surfaceId: string, callback: AsyncCallback<VideoOutput>): void;以及createVideoOutput(surfaceId: string): Promise<VideoOutput>;变更为createVideoOutput(profile: VideoProfile, surfaceId: string, callback: AsyncCallback<VideoOutput>): void;和createVideoOutput(profile: VideoProfile, surfaceId: string): Promise<VideoOutput>;
577
578   参考代码如下:
579
580   ```
581   let profile = cameraoutputcapability.videoProfiles[0];
582   cameraManager.createVideoOutput(profile, surfaceId, (err, videoOutput) => {
583       if (err) {
584           console.error(`Failed to create videoOutput. ${err.message}`);
585           return;
586       }
587       console.log('Callback returned with an array of supported outputCapability' );
588   })
589   ```
590
591   ```
592   let profile = cameraoutputcapability.videoProfiles[0];
593   cameraManager.createVideoOutput(profile, surfaceId).then((videoOutput) => {
594       console.log('Promise returned with videoOutput created.');
595   })
596   ```
597
5986. CameraManager中接口createMetadataOutput新增传递参数metadataObjectTypes: Array<MetadataObjectType>,metadataObjectTypes参数由getSupportedOutputCapability接口获取,因此旧接口function createMetadataOutput(callback: AsyncCallback<MetadataOutput>): void;以及function createMetadataOutput(): Promise<MetadataOutput>;变更为createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>, callback: AsyncCallback<MetadataOutput>): void;和createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>): Promise<MetadataOutput>;
599
600   参考代码如下:
601
602   ```
603   let metadataObjectTypes = cameraoutputcapability.supportedMetadataObjectTypes;
604   cameraManager.createMetadataOutput(metadataObjectTypes, (err, metadataOutput) => {
605       if (err) {
606           console.error(`Failed to create metadataOutput. ${err.message}`);
607           return;
608       }
609       console.log('Callback returned with metadataOutput created.');
610   })
611   ```
612
613   ```
614   let metadataObjectTypes = cameraoutputcapability.supportedMetadataObjectTypes;
615   cameraManager.createMetadataOutput(metadataObjectTypes).then((metadataOutput) => {
616       console.log('Promise returned with metadataOutput created.');
617   })
618   ```
619
6207. CameraManager中createCaptureSession不需要考虑context属性,因此旧接口createCaptureSession(context: Context, callback: AsyncCallback<CaptureSession>): void;以及createCaptureSession(context: Context): Promise<CaptureSession>;改为createCaptureSession(callback: AsyncCallback<CaptureSession>): void;和createCaptureSession(): Promise<CaptureSession>;
621
622   参考代码如下:
623
624   ```typescript
625   cameraManager.createCaptureSession((err, captureSession) => {
626       if (err) {
627           console.error(`Failed to create captureSession. ${err.message}`);
628           return;
629       }
630       console.log('Callback returned with captureSession created.');
631   })
632   ```
633
634   ```
635   cameraManager.createCaptureSession().then((captureSession) => {
636       console.log('Promise returned with captureSession created.');
637   })
638   ```
639
6408. CameraStatusInfo接口下属性camera类型由Camera变更为CameraDevice
641
6429. CameraInput中接口on(type: 'error')新增传递参数camera: CameraDevice,因此旧接口on(type: 'error', callback: ErrorCallback<CameraInputError>): void;变更为on(type: 'error', camera: CameraDevice, callback: ErrorCallback<CameraInputError>): void;
643
644   参考代码如下:
645
646   ```
647   let cameraDevice = cameras[0];
648   cameraInput.on('error', cameraDevice, (cameraInputError) => {
649       console.log(`Camera input error code: ${cameraInputError.code}`);
650   })
651   ```
652
65310. CameraInput中以下接口调整到CaptureSession中
654
655    hasFlash(callback: AsyncCallback<boolean>): void;<br/>hasFlash(): Promise<boolean>;<br/>
656
657    isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback<boolean>): void;<br/>isFlashModeSupported(flashMode: FlashMode): Promise<boolean>;<br/>
658
659    getFlashMode(callback: AsyncCallback<FlashMode>): void;<br/>getFlashMode(): Promise<FlashMode>;<br/>
660
661    setFlashMode(flashMode: FlashMode, callback: AsyncCallback<void>): void;<br/>setFlashMode(flashMode: FlashMode): Promise<void>;<br/>
662
663    isExposureModeSupported(aeMode: ExposureMode, callback: AsyncCallback<boolean>): void;<br/>isExposureModeSupported(aeMode: ExposureMode): Promise<boolean>;<br/>
664
665    getExposureMode(callback: AsyncCallback<ExposureMode>): void;<br/>getExposureMode(): Promise<ExposureMode>;<br/>
666
667    setExposureMode(aeMode: ExposureMode, callback: AsyncCallback<void>): void;<br/>setExposureMode(aeMode: ExposureMode): Promise<void>;<br/>
668
669    getMeteringPoint(callback: AsyncCallback<Point>): void;<br/>getMeteringPoint(): Promise<Point>;<br/>
670
671    setMeteringPoint(point: Point, callback: AsyncCallback<void>): void;<br/>setMeteringPoint(point: Point): Promise<void>;<br/>
672
673    getExposureBiasRange(callback: AsyncCallback<Array<number>>): void;<br/>getExposureBiasRange(): Promise<Array<number>>;<br/>
674
675    setExposureBias(exposureBias: number, callback: AsyncCallback<void>): void;<br/>setExposureBias(exposureBias: number): Promise<void>;<br/>
676
677    getExposureValue(callback: AsyncCallback<number>): void;<br/>getExposureValue(): Promise<number>;<br/>
678
679    isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback<boolean>): void;<br/>isFocusModeSupported(afMode: FocusMode): Promise<boolean>;<br/>
680
681    getFocusMode(callback: AsyncCallback<FocusMode>): void;<br/>getFocusMode(): Promise<FocusMode>;<br/>
682
683    setFocusMode(afMode: FocusMode, callback: AsyncCallback<void>): void;<br/>setFocusMode(afMode: FocusMode): Promise<void>;<br/>
684
685    setFocusPoint(point: Point, callback: AsyncCallback<void>): void;<br/>setFocusPoint(point: Point): Promise<void>;<br/>
686
687    getFocusPoint(callback: AsyncCallback<Point>): void;<br/>getFocusPoint(): Promise<Point>;<br/>
688
689    getFocalLength(callback: AsyncCallback<number>): void;<br/>getFocalLength(): Promise<number>;<br/>
690
691    getZoomRatioRange(callback: AsyncCallback<Array<number>>): void;<br/>getZoomRatioRange(): Promise<Array<number>>;<br/>
692
693    getZoomRatio(callback: AsyncCallback<number>): void;<br/>getZoomRatio(): Promise<number>;<br/>
694
695    setZoomRatio(zoomRatio: number, callback: AsyncCallback<void>): void;<br/>setZoomRatio(zoomRatio: number): Promise<void>;
696
69711. CameraInput中接口on(type: 'focusStateChange', callback: AsyncCallback<FocusState>): void;调整到CaptureSession中,对应接口on(type: 'focusStateChange', callback: AsyncCallback<FocusState>): void;
698
699    参考代码如下:
700
701    ```
702    captureSession.on('focusStateChange', (focusState) => {
703        console.log(`Focus state  : ${focusState}`);
704    })
705    ```
706
70712. 枚举ExposureMode中
708
709    枚举值名称:EXPOSURE_MODE_AUTO,初值由默认变更为1;
710
711    枚举值名称:EXPOSURE_MODE_CONTINUOUS_AUTO,初值由默认变更为2;
712
71313. 枚举VideoStabilizationMode中
714
715    枚举值名称:LOW,初值由默认变更为1;
716
717    枚举值名称:MIDDLE,初值由默认变更为2;
718
719    枚举值名称:HIGH,初值由默认变更为3;
720
721    枚举值名称:AUTO,初值由默认变更为4;
722
72314. CaptureSession中接口addOutput参数由原来子类类型(PreviewOutput,PhotoOutput,VideoOutput,MetadataOutput)统一修改为基类类型(CameraOutput),变更后由原来8个接口缩减为2个接口。
724
725    改变前接口为:
726
727    addOutput(previewOutput: PreviewOutput, callback: AsyncCallback<void>): void;<br/>addOutput(previewOutput: PreviewOutput): Promise<void>;<br/>addOutput(photoOutput: PhotoOutput, callback: AsyncCallback<void>): void;<br/>addOutput(photoOutput: PhotoOutput): Promise<void>;<br/>addOutput(videoOutput: VideoOutput, callback: AsyncCallback<void>): void;<br/>addOutput(videoOutput: VideoOutput): Promise<void>;<br/>addOutput(metadataOutput: MetadataOutput, callback: AsyncCallback<void>): void;<br/>addOutput(metadataOutput: MetadataOutput): Promise<void>;
728
729    改变后接口为:
730
731    addOutput(cameraOutput: CameraOutput, callback: AsyncCallback<void>): void;<br/>addOutput(cameraOutput: CameraOutput): Promise<void>;
732
733    参考代码如下:以PreviewOutput为例
734
735    ```
736    captureSession.addOutput(previewOutput, (err) => {
737        if (err) {
738            console.error(`Failed to add output. ${err.message}`);
739            return;
740        }
741        console.log('Callback returned with output added.');
742    })
743    ```
744
745    ```
746    captureSession.addOutput(previewOutput).then(() => {
747        console.log('Promise returned with cameraOutput added.');
748    })
749    ```
750
75115. CaptureSession中接口removeOutput参数由原来子类类型(PreviewOutput,PhotoOutput,VideoOutput,MetadataOutput)统一修改为基类类型(CameraOutput),变更后由原来8个接口缩减为2个接口。
752
753    改变前接口为:
754
755    removeOutput(previewOutput: PreviewOutput, callback: AsyncCallback<void>): void;<br/>removeOutput(previewOutput: PreviewOutput): Promise<void>;<br/>removeOutput(photoOutput: PhotoOutput, callback: AsyncCallback<void>): void;<br/>removeOutput(photoOutput: PhotoOutput): Promise<void>;<br/>removeOutput(videoOutput: VideoOutput, callback: AsyncCallback<void>): void;<br/>removeOutput(videoOutput: VideoOutput): Promise<void>;<br/>removeOutput(metadataOutput: MetadataOutput, callback: AsyncCallback<void>): void;<br/>removeOutput(metadataOutput: MetadataOutput): Promise<void>;
756
757    改变后接口为:
758
759    removeOutput(cameraOutput: CameraOutput, callback: AsyncCallback<void>): void;<br/>removeOutput(cameraOutput: CameraOutput): Promise<void>;
760
761    参考代码如下:以PreviewOutput为例
762
763    ```
764    captureSession.removeOutput(previewOutput, (err) => {
765        if (err) {
766            console.error(`Failed to remove the CameraOutput instance. ${err.message}`);
767            return;
768        }
769        console.log('Callback invoked to indicate that the CameraOutput instance is removed.');
770    });
771    ```
772
773    ```
774    captureSession.removeOutput(previewOutput).then(() => {
775        console.log('Promise returned to indicate that the CameraOutput instance is removed.');
776    })
777    ```
778
77916. 枚举MetadataObjectType中
780
781    枚举值名称由FACE变更为FACE_DETECTION;
782
78317. 接口Camera名称更改为CameraDevice
784