js-apis-camera.md 83.6 KB
Newer Older
Z
zengyawen 已提交
1
# 相机管理
N
nikhilraut 已提交
2

Z
zengyawen 已提交
3
> **说明:**
4
>
Z
zengyawen 已提交
5
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
6

N
nikhilraut 已提交
7 8
## 导入模块

Z
zengyawen 已提交
9
```js
N
nikhilraut 已提交
10 11 12
import camera from '@ohos.multimedia.camera';
```

Z
zengyawen 已提交
13
## camera.getCameraManager
N
nikhilraut 已提交
14

Z
zengyawen 已提交
15
getCameraManager(context: Context, callback: AsyncCallback<CameraManager\>): void
N
nikhilraut 已提交
16

J
jiangminyang 已提交
17
获取相机管理器实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
18

Z
zengyawen 已提交
19
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
20 21 22

**参数:**

Z
zengyawen 已提交
23 24 25
| 名称     | 类型                                            | 必填 | 说明                               |
| -------- | ----------------------------------------------- | ---- | ---------------------------------- |
| context  | Context                                         | 是   | 应用上下文。                       |
Z
zengyawen 已提交
26
| callback | AsyncCallback<[CameraManager](#cameramanager)\> | 是   | 回调函数,用于获取相机管理器实例。 |
N
nikhilraut 已提交
27 28 29

**示例:**

Z
zengyawen 已提交
30
```js
N
nikhilraut 已提交
31 32
camera.getCameraManager(context, (err, cameraManager) => {
    if (err) {
Z
zengyawen 已提交
33
        console.error('Failed to get the CameraManager instance ${err.message}');
N
nikhilraut 已提交
34 35 36 37 38 39
        return;
    }
    console.log('Callback returned with the CameraManager instance');
});
```

Z
zengyawen 已提交
40
## camera.getCameraManager
N
nikhilraut 已提交
41

Z
zengyawen 已提交
42
getCameraManager(context: Context): Promise<CameraManager\>
N
nikhilraut 已提交
43

J
jiangminyang 已提交
44
获取相机管理器实例,通过Promise获取结果。
N
nikhilraut 已提交
45

Z
zengyawen 已提交
46
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
47 48 49

**参数:**

Z
zengyawen 已提交
50 51 52
| 名称    | 类型    | 必填 | 说明         |
| ------- | ------- | ---- | ------------ |
| context | Context | 是   | 应用上下文。 |
N
nikhilraut 已提交
53 54 55

**返回值:**

Z
zengyawen 已提交
56 57
| 类型                                      | 说明                                      |
| ----------------------------------------- | ----------------------------------------- |
Z
zengyawen 已提交
58
| Promise<[CameraManager](#cameramanager)\> | 使用Promise的方式获取一个相机管理器实例。 |
N
nikhilraut 已提交
59 60 61

**示例:**

Z
zengyawen 已提交
62
```js
63
camera.getCameraManager(context).then((cameraManager) => {
N
nikhilraut 已提交
64 65 66 67
    console.log('Promise returned with the CameraManager instance.');
})
```

Z
zengyawen 已提交
68
## CameraStatus
N
nikhilraut 已提交
69

Z
zengyawen 已提交
70
枚举,相机状态。
N
nikhilraut 已提交
71

Z
zengyawen 已提交
72
**系统能力:** SystemCapability.Multimedia.Camera.Core
Z
zengyawen 已提交
73

Z
zengyawen 已提交
74 75
| 名称                      | 值   | 说明         |
| ------------------------- | ---- | ------------ |
Z
zengyawen 已提交
76 77 78 79
| CAMERA_STATUS_APPEAR      | 0    | 相机存在。   |
| CAMERA_STATUS_DISAPPEAR   | 1    | 相机不存在。 |
| CAMERA_STATUS_AVAILABLE   | 2    | 相机就绪。   |
| CAMERA_STATUS_UNAVAILABLE | 3    | 相机未就绪。 |
N
nikhilraut 已提交
80

J
jiangminyang 已提交
81

Z
zengyawen 已提交
82 83 84
## CameraPosition

枚举,相机方向。
J
jiangminyang 已提交
85 86 87

**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
88 89 90 91 92
| 名称                        | 值   | 说明             |
| --------------------------- | ---- | ---------------- |
| CAMERA_POSITION_UNSPECIFIED | 0    | 未指定方向相机。 |
| CAMERA_POSITION_BACK        | 1    | 后置相机。       |
| CAMERA_POSITION_FRONT       | 2    | 前置相机。       |
J
jiangminyang 已提交
93

Z
zengyawen 已提交
94
## CameraType
J
jiangminyang 已提交
95

Z
zengyawen 已提交
96
枚举,相机类型。
J
jiangminyang 已提交
97 98 99

**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
100 101 102 103 104 105 106 107
| 名称                    | 值   | 说明             |
| ----------------------- | ---- | ---------------- |
| CAMERA_TYPE_UNSPECIFIED | 0    | 未指定相机类型。 |
| CAMERA_TYPE_WIDE_ANGLE  | 1    | 广角相机。       |
| CAMERA_TYPE_ULTRA_WIDE  | 2    | 超级广角相机。   |
| CAMERA_TYPE_TELEPHOTO   | 3    | 长焦相机。       |
| CAMERA_TYPE_TRUE_DEPTH  | 4    | 深度相机。       |

J
jiangminyang 已提交
108

Z
zengyawen 已提交
109
## ConnectionType
J
jiangminyang 已提交
110

Z
zengyawen 已提交
111
枚举,相机连接类型。
J
jiangminyang 已提交
112 113 114

**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
115 116 117 118 119
| 名称                         | 值   | 说明          |
| ---------------------------- | ---- | ------------- |
| CAMERA_CONNECTION_BUILT_IN   | 0    | 内置相机。    |
| CAMERA_CONNECTION_USB_PLUGIN | 1    | 外置USB相机。 |
| CAMERA_CONNECTION_REMOTE     | 2    | 分布式相机。  |
J
jiangminyang 已提交
120

Z
zengyawen 已提交
121
## Size
J
jiangminyang 已提交
122

Z
zengyawen 已提交
123
用于表示相机预览、照片、视频支持的尺寸大小。
J
jiangminyang 已提交
124 125 126

**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
127 128 129 130
| 名称   | 类型   | 可读 | 可写 | 说明         |
| ------ | ------ | ---- | ---- | ------------ |
| height | string | 是   | 是   | 图像的高度。 |
| width  | number | 是   | 是   | 图像的宽度。 |
J
jiangminyang 已提交
131

Z
zengyawen 已提交
132
## CameraManager
N
nikhilraut 已提交
133

Z
zengyawen 已提交
134
相机管理器类,使用前需要通过getCameraManager获取相机管理实例。
N
nikhilraut 已提交
135

Z
zengyawen 已提交
136
### getCameras
N
nikhilraut 已提交
137

Z
zengyawen 已提交
138
getCameras(callback: AsyncCallback<Array<Camera\>\>): void
N
nikhilraut 已提交
139

Z
zengyawen 已提交
140
异步获取设备支持的相机列表,通过注册回调函数获取结果。
N
nikhilraut 已提交
141

Z
zengyawen 已提交
142
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
143 144 145

**参数:**

Z
zengyawen 已提交
146 147 148
| 名称     | 类型                                      | 必填 | 说明                                 |
| -------- | ----------------------------------------- | ---- | ------------------------------------ |
| callback | AsyncCallback<Array<[Camera](#camera)\>\> | 是   | 使用callback方式获取支持的相机列表。 |
N
nikhilraut 已提交
149 150 151

**示例:**

Z
zengyawen 已提交
152
```js
Z
zengyawen 已提交
153
cameraManager.getCameras((err, cameras) => {
N
nikhilraut 已提交
154
    if (err) {
Z
zengyawen 已提交
155
        console.error('Failed to get the cameras. ${err.message}');
N
nikhilraut 已提交
156 157
        return;
    }
Z
zengyawen 已提交
158
    console.log('Callback returned with an array of supported cameras: ' + cameras.length);
N
nikhilraut 已提交
159 160 161
})
```

Z
zengyawen 已提交
162
### getCameras
N
nikhilraut 已提交
163

Z
zengyawen 已提交
164
getCameras(): Promise<Array<Camera\>\>
N
nikhilraut 已提交
165

Z
zengyawen 已提交
166
异步获取设备支持的相机列表,通过Promise获取结果。
N
nikhilraut 已提交
167

Z
zengyawen 已提交
168
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
169 170 171

**返回值:**

Z
zengyawen 已提交
172 173 174
| 类型                                | 说明                          |
| ----------------------------------- | ----------------------------- |
| Promise<Array<[Camera](#camera)\>\> | 使用promise获取支持相机列表。 |
N
nikhilraut 已提交
175 176 177 178


**示例:**

Z
zengyawen 已提交
179
```js
Z
zengyawen 已提交
180 181
cameraManager.getCameras().then((cameraArray) => {
    console.log('Promise returned with an array of supported cameras: ' + cameraArray.length);
N
nikhilraut 已提交
182 183 184
})
```

Z
zengyawen 已提交
185 186 187
### createCameraInput

createCameraInput(cameraId: string, callback: AsyncCallback<CameraInput\>): void
N
nikhilraut 已提交
188

Z
zengyawen 已提交
189
使用相机ID异步创建CameraInput实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
190

Z
zengyawen 已提交
191
**需要权限:** ohos.permission.CAMERA
Z
zengyawen 已提交
192

Z
zengyawen 已提交
193
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
194 195 196

**参数:**

Z
zengyawen 已提交
197 198 199 200
| 名称     | 类型                                        | 必填 | 说明                                |
| -------- | ------------------------------------------- | ---- | ----------------------------------- |
| cameraId | string                                      | 是   | 指定相机ID。                        |
| callback | AsyncCallback<[CameraInput](#camerainput)\> | 是   | 回调函数,用于获取CameraInput实例。 |
N
nikhilraut 已提交
201 202 203

**示例:**

Z
zengyawen 已提交
204
```js
Z
zengyawen 已提交
205
cameraManager.createCameraInput(cameraId, (err, cameraInput) => {
N
nikhilraut 已提交
206
    if (err) {
Z
zengyawen 已提交
207
        console.error('Failed to create the CameraInput instance. ${err.message}');
N
nikhilraut 已提交
208 209
        return;
    }
Z
zengyawen 已提交
210
    console.log('Callback returned with the CameraInput instance.');
N
nikhilraut 已提交
211 212 213
})
```

Z
zengyawen 已提交
214 215 216
### createCameraInput

createCameraInput(cameraId: string): Promise<CameraInput\>
N
nikhilraut 已提交
217

Z
zengyawen 已提交
218
使用相机ID异步创建CameraInput实例,通过Promise获取结果。
N
nikhilraut 已提交
219

Z
zengyawen 已提交
220
**需要权限:** ohos.permission.CAMERA
Z
zengyawen 已提交
221

Z
zengyawen 已提交
222
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
223 224 225

**参数:**

Z
zengyawen 已提交
226 227 228
| 名称     | 类型   | 必填 | 说明         |
| -------- | ------ | ---- | ------------ |
| cameraId | string | 是   | 指定相机ID。 |
N
nikhilraut 已提交
229 230 231

**返回值:**

Z
zengyawen 已提交
232 233 234
| 类型                                  | 说明                                     |
| ------------------------------------- | ---------------------------------------- |
| Promise<[CameraInput](#camerainput)\> | 使用Promise的方式获取CameraInput的实例。 |
N
nikhilraut 已提交
235 236 237

**示例:**

Z
zengyawen 已提交
238
```js
Z
zengyawen 已提交
239 240
cameraManager.createCameraInput(cameraId).then((cameraInput) => {
    console.log('Promise returned with the CameraInput instance');
J
jiangminyang 已提交
241 242 243
})
```

Z
zengyawen 已提交
244 245 246
### createCameraInput

createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback<CameraInput\>): void
J
jiangminyang 已提交
247

Z
zengyawen 已提交
248
使用相机位置和相机类型异步创建CameraInput实例,通过注册回调函数获取结果。
J
jiangminyang 已提交
249

Z
zengyawen 已提交
250
**需要权限:** ohos.permission.CAMERA
J
jiangminyang 已提交
251 252 253 254 255

**系统能力:** SystemCapability.Multimedia.Camera.Core

**参数:**

Z
zengyawen 已提交
256 257 258 259 260
| 名称     | 类型                                        | 必填 | 说明                                |
| -------- | ------------------------------------------- | ---- | ----------------------------------- |
| position | [CameraPosition](#cameraposition)           | 是   | 相机位置。                          |
| type     | [CameraType](#cameratype)                   | 是   | 相机类型。                          |
| callback | AsyncCallback<[CameraInput](#camerainput)\> | 是   | 回调函数,用于获取CameraInput实例。 |
J
jiangminyang 已提交
261 262 263 264

**示例:**

```js
Z
zengyawen 已提交
265
cameraManager.createCameraInput(camera.CameraPosition.CAMERA_POSITION_BACK, camera.CameraType.CAMERA_TYPE_UNSPECIFIED, (err, cameraInput) => {
J
jiangminyang 已提交
266
    if (err) {
Z
zengyawen 已提交
267
        console.error('Failed to create the CameraInput instance. ${err.message}');
J
jiangminyang 已提交
268 269
        return;
    }
Z
zengyawen 已提交
270
    console.log('Callback returned with the CameraInput instance');
J
jiangminyang 已提交
271 272 273
})
```

Z
zengyawen 已提交
274 275 276
### createCameraInput

createCameraInput(position: CameraPosition, type: CameraType): Promise<CameraInput\>
J
jiangminyang 已提交
277

Z
zengyawen 已提交
278
使用相机位置和相机类型异步创建CameraInput实例,通过Promise获取结果。
J
jiangminyang 已提交
279

Z
zengyawen 已提交
280
**需要权限:** ohos.permission.CAMERA
J
jiangminyang 已提交
281 282 283

**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
284
**参数:**
J
jiangminyang 已提交
285

Z
zengyawen 已提交
286 287 288 289 290 291
| 名称     | 类型                              | 必填 | 说明       |
| -------- | --------------------------------- | ---- | ---------- |
| position | [CameraPosition](#cameraposition) | 是   | 相机位置。 |
| type     | [CameraType](#cameratype)         | 是   | 相机类型。 |

**返回值:**
J
jiangminyang 已提交
292

Z
zengyawen 已提交
293 294 295
| 类型                                  | 说明                                     |
| ------------------------------------- | ---------------------------------------- |
| Promise<[CameraInput](#camerainput)\> | 使用Promise的方式获取CameraInput的实例。 |
J
jiangminyang 已提交
296 297 298 299

**示例:**

```js
Z
zengyawen 已提交
300 301
cameraManager.createCameraInput(camera.CameraPosition.CAMERA_POSITION_BACK, camera.CameraType.CAMERA_TYPE_UNSPECIFIED).then((cameraInput) => {
    console.log('Promise returned with the CameraInput instance.');
N
nikhilraut 已提交
302 303 304
})
```

Z
zengyawen 已提交
305
### on('cameraStatus')
J
jiangminyang 已提交
306

Z
zengyawen 已提交
307
on(type: 'cameraStatus', callback: AsyncCallback<CameraStatusInfo\>): void
J
jiangminyang 已提交
308

Z
zengyawen 已提交
309
监听相机的状态变化,通过注册回调函数获取相机的状态变化。
J
jiangminyang 已提交
310 311 312 313 314

**系统能力:** SystemCapability.Multimedia.Camera.Core

**参数:**

Z
zengyawen 已提交
315 316 317 318
| 名称     | 类型                                                  | 必填 | 说明                                                 |
| :------- | :---------------------------------------------------- | :--- | :--------------------------------------------------- |
| type     | string                                                | 是   | 监听事件,固定为'cameraStatus',即相机状态变化事件。 |
| callback | AsyncCallback<[CameraStatusInfo](#camerastatusinfo)\> | 是   | 回调函数,用于获取相机状态变化信息。                 |
J
jiangminyang 已提交
319 320 321 322

**示例:**

```js
Z
zengyawen 已提交
323
cameraManager.on('cameraStatus', (err, cameraStatusInfo) => {
J
jiangminyang 已提交
324
    if (err) {
Z
zengyawen 已提交
325
        console.error('Failed to get cameraStatus callback. ${err.message}');
J
jiangminyang 已提交
326 327
        return;
    }
Z
zengyawen 已提交
328 329
    console.log('camera : ' + cameraStatusInfo.camera.cameraId);
    console.log('status: ' + cameraStatusInfo.status);
J
jiangminyang 已提交
330 331 332
})
```

Z
zengyawen 已提交
333
## Camera
J
jiangminyang 已提交
334

Z
zengyawen 已提交
335
调用[camera.getCameraManager](#cameragetcameramanager)后,将返回Camera实例,包括相机ID、位置、类型、连接类型等相机相关的元数据。
J
jiangminyang 已提交
336

Z
zengyawen 已提交
337
**系统能力:** SystemCapability.Multimedia.Camera.Core。
J
jiangminyang 已提交
338

Z
zengyawen 已提交
339 340 341 342 343 344
| 名称           | 类型                              | 只读 | 说明           |
| -------------- | --------------------------------- | ---- | -------------- |
| cameraId       | string                            | 是   | 相机ID。       |
| cameraPosition | [CameraPosition](#cameraposition) | 是   | 相机位置。     |
| cameraType     | [CameraType](#cameratype)         | 是   | 相机类型。     |
| connectionType | [ConnectionType](#connectiontype) | 是   | 相机连接类型。 |
J
jiangminyang 已提交
345 346 347 348

**示例:**

```js
Z
zengyawen 已提交
349 350 351 352 353 354 355 356 357
async function getCameraInfo("cameraId") {
    var cameraManager = await camera.getCameraManager(context);
    var cameras = await cameraManager.getCameras();
    var cameraObj = cameras[0];
    var cameraId = cameraObj.cameraId;
    var cameraPosition = cameraObj.cameraPosition;
    var cameraType = cameraObj.cameraType;
    var connectionType = cameraObj.connectionType;
}
J
jiangminyang 已提交
358 359
```

Z
zengyawen 已提交
360 361 362 363 364 365 366 367 368 369 370
## CameraStatusInfo

相机管理器回调返回的接口实例,表示相机状态信息。

**系统能力:** SystemCapability.Multimedia.Camera.Core。

| 名称   | 类型                          | 说明       |
| ------ | ----------------------------- | ---------- |
| camera | [Camera](#camera)             | 相机信息。 |
| status | [CameraStatus](#camerastatus) | 相机状态。 |

J
jiangminyang 已提交
371

Z
zengyawen 已提交
372
## CameraInput
J
jiangminyang 已提交
373

Z
zengyawen 已提交
374
相机输入类。在使用该类的方法前,需要先构建一个CameraInput实例。
J
jiangminyang 已提交
375

Z
zengyawen 已提交
376
### getCameraId
J
jiangminyang 已提交
377

Z
zengyawen 已提交
378 379 380
getCameraId(callback: AsyncCallback<string\>\): void

异步获取该CameraInput实例的相机ID,通过注册回调函数获取结果。
J
jiangminyang 已提交
381

J
jiangminyang 已提交
382 383 384 385
**系统能力:** SystemCapability.Multimedia.Camera.Core

**参数:**

Z
zengyawen 已提交
386 387 388
| 名称     | 类型                   | 必填 | 说明                       |
| -------- | ---------------------- | ---- | -------------------------- |
| callback | AsyncCallback<string\> | 是   | 回调函数,用于获取相机ID。 |
J
jiangminyang 已提交
389 390 391 392

**示例:**

```js
Z
zengyawen 已提交
393
cameraInput.getCameraId((err, cameraId) => {
J
jiangminyang 已提交
394
    if (err) {
Z
zengyawen 已提交
395
        console.error('Failed to get the camera ID. ${err.message}');
J
jiangminyang 已提交
396 397
        return;
    }
Z
zengyawen 已提交
398
    console.log('Callback returned with the camera ID: ' + cameraId);
J
jiangminyang 已提交
399 400 401
})
```

Z
zengyawen 已提交
402
### getCameraId
J
jiangminyang 已提交
403

Z
zengyawen 已提交
404
getCameraId(): Promise<string\>
J
jiangminyang 已提交
405

Z
zengyawen 已提交
406
异步获取该CameraInput实例的相机ID,通过Promise获取结果。
J
jiangminyang 已提交
407

J
jiangminyang 已提交
408 409 410 411
**系统能力:** SystemCapability.Multimedia.Camera.Core

**返回值:**

Z
zengyawen 已提交
412 413 414
| 类型             | 说明                          |
| ---------------- | ----------------------------- |
| Promise<string\> | 使用Promise的方式获取相机ID。 |
J
jiangminyang 已提交
415 416 417 418

**示例:**

```js
Z
zengyawen 已提交
419 420
cameraInput.getCameraId().then((cameraId) => {
    console.log('Promise returned with the camera ID:' + cameraId);
J
jiangminyang 已提交
421 422 423 424
})
```


Z
zengyawen 已提交
425
### hasFlash
J
jiangminyang 已提交
426

Z
zengyawen 已提交
427
hasFlash(callback: AsyncCallback<boolean\>): void
J
jiangminyang 已提交
428

Z
zengyawen 已提交
429
判断设备是否支持闪光灯,通过注册回调函数获取结果。
J
jiangminyang 已提交
430

J
jiangminyang 已提交
431 432 433 434
**系统能力:** SystemCapability.Multimedia.Camera.Core

**参数:**

Z
zengyawen 已提交
435 436 437
| 名称     | 类型                    | 必填 | 说明                                   |
| -------- | ----------------------- | ---- | -------------------------------------- |
| callback | AsyncCallback<boolean\> | 是   | 回调函数,返回true表示设备支持闪光灯。 |
J
jiangminyang 已提交
438 439 440 441

**示例:**

```js
Z
zengyawen 已提交
442
cameraInput.hasFlash((err, status) => {
J
jiangminyang 已提交
443
    if (err) {
Z
zengyawen 已提交
444
        console.error('Failed to check whether the device has flash light. ${err.message}');
J
jiangminyang 已提交
445 446
        return;
    }
Z
zengyawen 已提交
447
    console.log('Callback returned with flash light support status: ' + status);
J
jiangminyang 已提交
448 449 450
})
```

Z
zengyawen 已提交
451
### hasFlash
J
jiangminyang 已提交
452

Z
zengyawen 已提交
453
hasFlash(): Promise<boolean\>
J
jiangminyang 已提交
454

Z
zengyawen 已提交
455
判断设备是否支持闪光灯,通过Promise获取结果。
J
jiangminyang 已提交
456

J
jiangminyang 已提交
457 458 459 460
**系统能力:** SystemCapability.Multimedia.Camera.Core

**返回值:**

Z
zengyawen 已提交
461 462 463
| 类型              | 说明                                                    |
| ----------------- | ------------------------------------------------------- |
| Promise<boolean\> | 使用Promise的方式获取结果,返回true表示设备支持闪光灯。 |
J
jiangminyang 已提交
464 465 466

**示例:**

Z
zengyawen 已提交
467 468 469
```js
cameraInput.hasFlash().then((status) => {
    console.log('Promise returned with the flash light support status:' + status);
J
jiangminyang 已提交
470 471 472
})
```

Z
zengyawen 已提交
473
### isFlashModeSupported
N
nikhilraut 已提交
474

Z
zengyawen 已提交
475
isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback<boolean\>): void
J
jiangminyang 已提交
476

Z
zengyawen 已提交
477
判断设备是否支持指定闪光灯模式,通过注册回调函数获取结果。
N
nikhilraut 已提交
478

Z
zengyawen 已提交
479
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
480 481 482

**参数:**

Z
zengyawen 已提交
483 484 485 486
| 名称      | 类型                    | 必填 | 说明                                     |
| --------- | ----------------------- | ---- | ---------------------------------------- |
| flashMode | [FlashMode](#flashmode) | 是   | 指定闪光灯模式。                         |
| callback  | AsyncCallback<boolean\> | 是   | 回调函数,返回true表示支持该闪光灯模式。 |
N
nikhilraut 已提交
487 488 489

**示例:**

Z
zengyawen 已提交
490
```js
Z
zengyawen 已提交
491
cameraInput.isFlashModeSupported(camera.FlashMode.FLASH_MODE_AUTO, (err, status) => {
N
nikhilraut 已提交
492
    if (err) {
Z
zengyawen 已提交
493
        console.error('Failed to check whether the flash mode is supported. ${err.message}');
N
nikhilraut 已提交
494 495
        return;
    }
Z
zengyawen 已提交
496
    console.log('Callback returned with the flash mode support status: ' + status);
N
nikhilraut 已提交
497 498 499
})
```

Z
zengyawen 已提交
500
### isFlashModeSupported
J
jiangminyang 已提交
501

Z
zengyawen 已提交
502
isFlashModeSupported(flashMode: FlashMode): Promise<boolean\>
J
jiangminyang 已提交
503

Z
zengyawen 已提交
504
判断设备是否支持指定闪光灯模式,通过Promise获取结果。
N
nikhilraut 已提交
505

Z
zengyawen 已提交
506
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
507

J
jiangminyang 已提交
508 509
**参数:**

Z
zengyawen 已提交
510 511 512
| 名称      | 类型                    | 必填 | 说明             |
| --------- | ----------------------- | ---- | ---------------- |
| flashMode | [FlashMode](#flashmode) | 是   | 指定闪光灯模式。 |
J
jiangminyang 已提交
513

N
nikhilraut 已提交
514 515
**返回值:**

Z
zengyawen 已提交
516 517 518
| 类型              | 说明                                                         |
| ----------------- | ------------------------------------------------------------ |
| Promise<boolean\> | 使用Promise的方式获取结果,返回true表示设备支持该闪光灯模式。 |
N
nikhilraut 已提交
519 520 521

**示例:**

Z
zengyawen 已提交
522
```js
Z
zengyawen 已提交
523 524
cameraInput.isFlashModeSupported(camera.FlashMode.FLASH_MODE_AUTO).then((status) => {
    console.log('Promise returned with flash mode support status.' + status);
N
nikhilraut 已提交
525 526 527
})
```

Z
zengyawen 已提交
528
### setFlashMode
N
nikhilraut 已提交
529

Z
zengyawen 已提交
530
setFlashMode(flashMode: FlashMode, callback: AsyncCallback<void\>): void
N
nikhilraut 已提交
531

Z
zengyawen 已提交
532
设置闪光灯模式,通过注册回调函数获取结果。
J
jiangminyang 已提交
533

Z
zengyawen 已提交
534
进行设置之前,需要先检查:
J
jiangminyang 已提交
535

Z
zengyawen 已提交
536 537
1. 设备是否支持闪光灯,可使用方法[hasFlash](#hasflash)
2. 设备是否支持指定的闪光灯模式,可使用方法[isFlashModeSupported](#isflashmodesupported)
N
nikhilraut 已提交
538

Z
zengyawen 已提交
539
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
540 541 542

**参数:**

Z
zengyawen 已提交
543 544 545 546
| 名称      | 类型                    | 必填 | 说明                     |
| --------- | ----------------------- | ---- | ------------------------ |
| flashMode | [FlashMode](#flashmode) | 是   | 指定闪光灯模式。         |
| callback  | AsyncCallback<void\>    | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
547 548 549

**示例:**

Z
zengyawen 已提交
550
```js
Z
zengyawen 已提交
551
cameraInput.setFlashMode(camera.FlashMode.FLASH_MODE_AUTO, (err) => {
N
nikhilraut 已提交
552
    if (err) {
Z
zengyawen 已提交
553
        console.error('Failed to set the flash mode  ${err.message}');
N
nikhilraut 已提交
554 555
        return;
    }
Z
zengyawen 已提交
556
    console.log('Callback returned with the successful execution of setFlashMode.');
N
nikhilraut 已提交
557 558 559
})
```

Z
zengyawen 已提交
560
### setFlashMode
N
nikhilraut 已提交
561

Z
zengyawen 已提交
562
setFlashMode(flashMode: FlashMode): Promise<void\>
J
jiangminyang 已提交
563

Z
zengyawen 已提交
564
设置闪光灯模式,通过Promise获取结果。
J
jiangminyang 已提交
565

Z
zengyawen 已提交
566
进行设置之前,需要先检查:
J
jiangminyang 已提交
567

Z
zengyawen 已提交
568 569
1. 设备是否支持闪光灯,可使用方法[hasFlash](#hasflash)
2. 设备是否支持指定的闪光灯模式,可使用方法[isFlashModeSupported](#isflashmodesupported)
J
jiangminyang 已提交
570 571 572 573 574

**系统能力:** SystemCapability.Multimedia.Camera.Core

**参数:**

Z
zengyawen 已提交
575 576 577
| 名称      | 类型                    | 必填 | 说明             |
| --------- | ----------------------- | ---- | ---------------- |
| flashMode | [FlashMode](#flashmode) | 是   | 指定闪光灯模式。 |
J
jiangminyang 已提交
578 579 580

**返回值:**

Z
zengyawen 已提交
581 582 583
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
J
jiangminyang 已提交
584 585 586 587

**示例:**

```js
Z
zengyawen 已提交
588 589
cameraInput.setFlashMode(camera.FlashMode.FLASH_MODE_AUTO).then(() => {
    console.log('Promise returned with the successful execution of setFlashMode.');
J
jiangminyang 已提交
590 591 592
})
```

Z
zengyawen 已提交
593
### getFlashMode
N
nikhilraut 已提交
594

Z
zengyawen 已提交
595
getFlashMode(callback: AsyncCallback<FlashMode\>): void
J
jiangminyang 已提交
596

Z
zengyawen 已提交
597
获取当前设备的闪光灯模式,通过注册回调函数获取结果。
J
jiangminyang 已提交
598

Z
zengyawen 已提交
599
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
600 601 602

**参数:**

Z
zengyawen 已提交
603 604 605
| 名称     | 类型                                    | 必填 | 说明                                     |
| -------- | --------------------------------------- | ---- | ---------------------------------------- |
| callback | AsyncCallback<[FlashMode](#flashmode)\> | 是   | 回调函数,用于获取当前设备的闪光灯模式。 |
J
jiangminyang 已提交
606 607 608 609

**示例:**

```js
Z
zengyawen 已提交
610
cameraInput.getFlashMode((err, flashMode) => {
J
jiangminyang 已提交
611
    if (err) {
Z
zengyawen 已提交
612
        console.error('Failed to get the flash mode  ${err.message}');
J
jiangminyang 已提交
613 614
        return;
    }
Z
zengyawen 已提交
615
    console.log('Callback returned with current flash mode: ' + flashMode);
J
jiangminyang 已提交
616 617 618
})
```

Z
zengyawen 已提交
619
### getFlashMode
J
jiangminyang 已提交
620

Z
zengyawen 已提交
621
getFlashMode(): Promise<FlashMode\>
J
jiangminyang 已提交
622

Z
zengyawen 已提交
623
获取当前设备的闪光灯模式,通过Promise获取结果。
J
jiangminyang 已提交
624 625 626

**系统能力:** SystemCapability.Multimedia.Camera.Core

N
nikhilraut 已提交
627 628
**返回值:**

Z
zengyawen 已提交
629 630 631
| 类型                              | 说明                                    |
| --------------------------------- | --------------------------------------- |
| Promise<[FlashMode](#flashmode)\> | 使用Promise的方式获取当前的闪光灯模式。 |
N
nikhilraut 已提交
632 633 634

**示例:**

Z
zengyawen 已提交
635
```js
Z
zengyawen 已提交
636 637
cameraInput.getFlashMode().then((flashMode) => {
    console.log('Promise returned with current flash mode : ' + flashMode);
N
nikhilraut 已提交
638 639 640
})
```

Z
zengyawen 已提交
641
### isFocusModeSupported
N
nikhilraut 已提交
642

Z
zengyawen 已提交
643
isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback<boolean\>): void
N
nikhilraut 已提交
644

Z
zengyawen 已提交
645
判断设备是否支持指定的焦距模式,通过注册回调函数获取结果。
N
nikhilraut 已提交
646

Z
zengyawen 已提交
647
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
648 649 650

**参数:**

Z
zengyawen 已提交
651 652 653 654
| 名称     | 类型                    | 必填 | 说明                                   |
| -------- | ----------------------- | ---- | -------------------------------------- |
| afMode   | [FocusMode](#focusmode) | 是   | 指定的焦距模式。                       |
| callback | AsyncCallback<boolean\> | 是   | 回调函数,返回true表示支持该焦距模式。 |
N
nikhilraut 已提交
655 656 657

**示例:**

Z
zengyawen 已提交
658
```js
Z
zengyawen 已提交
659
cameraInput.isFocusModeSupported(camera.FocusMode.FOCUS_MODE_AUTO, (err, status) => {
N
nikhilraut 已提交
660
    if (err) {
Z
zengyawen 已提交
661
        console.error('Failed to check whether the focus mode is supported. ${err.message}');
N
nikhilraut 已提交
662 663
        return;
    }
Z
zengyawen 已提交
664
    console.log('Callback returned with the focus mode support status: ' + status);
N
nikhilraut 已提交
665 666 667
})
```

Z
zengyawen 已提交
668
### isFocusModeSupported
N
nikhilraut 已提交
669

Z
zengyawen 已提交
670
isFocusModeSupported(afMode: FocusMode): Promise<boolean\>
N
nikhilraut 已提交
671

Z
zengyawen 已提交
672
判断设备是否支持指定的焦距模式,通过Promise获取结果。
N
nikhilraut 已提交
673

Z
zengyawen 已提交
674
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
675 676 677

**参数:**

Z
zengyawen 已提交
678 679 680
| 名称   | 类型                    | 必填 | 说明             |
| ------ | ----------------------- | ---- | ---------------- |
| afMode | [FocusMode](#focusmode) | 是   | 指定的焦距模式。 |
N
nikhilraut 已提交
681 682 683

**返回值:**

Z
zengyawen 已提交
684 685 686
| 类型              | 说明                                                        |
| ----------------- | ----------------------------------------------------------- |
| Promise<boolean\> | 使用Promise的方式获取结果,返回true表示设备支持该焦距模式。 |
N
nikhilraut 已提交
687 688 689

**示例:**

Z
zengyawen 已提交
690
```js
Z
zengyawen 已提交
691 692
cameraInput.isFocusModeSupported(camera.FocusMode.FOCUS_MODE_AUTO).then((status) => {
    console.log('Promise returned with focus mode support status.' + status);
N
nikhilraut 已提交
693 694 695
})
```

Z
zengyawen 已提交
696 697 698
### setFocusMode

setFocusMode(afMode: FocusMode, callback: AsyncCallback<void\>): void
N
nikhilraut 已提交
699

Z
zengyawen 已提交
700
设置焦距模式,通过注册回调函数获取结果。
N
nikhilraut 已提交
701

Z
zengyawen 已提交
702
进行设置之前,需要先检查设备是否支持指定的焦距模式,可使用方法[isFocusModeSupported](#isfocusmodesupported)
N
nikhilraut 已提交
703

Z
zengyawen 已提交
704
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
705 706 707

**参数:**

Z
zengyawen 已提交
708 709 710 711
| 名称     | 类型                    | 必填 | 说明                     |
| -------- | ----------------------- | ---- | ------------------------ |
| afMode   | [FocusMode](#focusmode) | 是   | 指定的焦距模式。         |
| callback | AsyncCallback<void\>    | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
712 713 714

**示例:**

Z
zengyawen 已提交
715
```js
Z
zengyawen 已提交
716
cameraInput.setFocusMode(camera.FocusMode.FOCUS_MODE_AUTO, (err) => {
N
nikhilraut 已提交
717
    if (err) {
Z
zengyawen 已提交
718
        console.error('Failed to set the focus mode  ${err.message}');
N
nikhilraut 已提交
719 720
        return;
    }
Z
zengyawen 已提交
721
    console.log('Callback returned with the successful execution of setFocusMode.');
N
nikhilraut 已提交
722 723 724
})
```

Z
zengyawen 已提交
725 726 727
### setFocusMode

setFocusMode(afMode: FocusMode): Promise<void\>
N
nikhilraut 已提交
728

Z
zengyawen 已提交
729
设置焦距模式,通过Promise获取结果。
N
nikhilraut 已提交
730

Z
zengyawen 已提交
731
进行设置之前,需要先检查设备是否支持指定的焦距模式,可使用方法[isFocusModeSupported](#isfocusmodesupported)
N
nikhilraut 已提交
732

Z
zengyawen 已提交
733
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
734

J
jiangminyang 已提交
735 736
**参数:**

Z
zengyawen 已提交
737 738 739
| 名称   | 类型                    | 必填 | 说明             |
| ------ | ----------------------- | ---- | ---------------- |
| afMode | [FocusMode](#focusmode) | 是   | 指定的焦距模式。 |
J
jiangminyang 已提交
740

N
nikhilraut 已提交
741 742
**返回值:**

Z
zengyawen 已提交
743 744 745
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
746 747 748

**示例:**

Z
zengyawen 已提交
749
```js
Z
zengyawen 已提交
750 751
cameraInput.setFocusMode(camera.FocusMode.FOCUS_MODE_AUTO).then(() => {
    console.log('Promise returned with the successful execution of setFocusMode.');
N
nikhilraut 已提交
752 753 754
})
```

Z
zengyawen 已提交
755
### getFocusMode
N
nikhilraut 已提交
756

Z
zengyawen 已提交
757
getFocusMode(callback: AsyncCallback<FocusMode\>): void
N
nikhilraut 已提交
758

Z
zengyawen 已提交
759
获取当前设备的焦距模式,通过注册回调函数获取结果。
N
nikhilraut 已提交
760

Z
zengyawen 已提交
761
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
762 763 764

**参数:**

Z
zengyawen 已提交
765 766 767
| 名称     | 类型                                    | 必填 | 说明                                   |
| -------- | --------------------------------------- | ---- | -------------------------------------- |
| callback | AsyncCallback<[FocusMode](#focusmode)\> | 是   | 回调函数,用于获取当前设备的焦距模式。 |
N
nikhilraut 已提交
768 769 770

**示例:**

Z
zengyawen 已提交
771
```js
Z
zengyawen 已提交
772
cameraInput.getFocusMode((err, afMode) => {
N
nikhilraut 已提交
773
    if (err) {
Z
zengyawen 已提交
774
        console.error('Failed to get the focus mode  ${err.message}');
N
nikhilraut 已提交
775 776
        return;
    }
Z
zengyawen 已提交
777
    console.log('Callback returned with current focus mode: ' + afMode);
N
nikhilraut 已提交
778 779 780
})
```

Z
zengyawen 已提交
781
### getFocusMode
N
nikhilraut 已提交
782

Z
zengyawen 已提交
783
getFocusMode(): Promise<FocusMode\>
N
nikhilraut 已提交
784

Z
zengyawen 已提交
785
获取当前设备的焦距模式,通过Promise获取结果。
N
nikhilraut 已提交
786

Z
zengyawen 已提交
787
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
788 789 790

**返回值:**

Z
zengyawen 已提交
791 792 793
| 类型                | 说明                                  |
| ------------------- | ------------------------------------- |
| Promise<FocusMode\> | 使用Promise的方式获取当前的焦距模式。 |
N
nikhilraut 已提交
794 795 796

**示例:**

Z
zengyawen 已提交
797
```js
Z
zengyawen 已提交
798 799
cameraInput.getFocusMode().then((afMode) => {
    console.log('Promise returned with current focus mode : ' + afMode);
N
nikhilraut 已提交
800 801 802
})
```

Z
zengyawen 已提交
803
### getZoomRatioRange
N
nikhilraut 已提交
804

Z
zengyawen 已提交
805
getZoomRatioRange\(callback: AsyncCallback<Array<number\>\>\): void
N
nikhilraut 已提交
806

Z
zengyawen 已提交
807
获取可变焦距比范围,通过注册回调函数获取结果。
N
nikhilraut 已提交
808

Z
zengyawen 已提交
809
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
810 811 812

**参数:**

Z
zengyawen 已提交
813 814 815
| 名称     | 类型                           | 必填 | 说明                     |
| -------- | ------------------------------ | ---- | ------------------------ |
| callback | AsyncCallback<Array<number\>\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
816 817 818

**示例:**

Z
zengyawen 已提交
819
```js
Z
zengyawen 已提交
820
cameraInput.getZoomRatioRange((err, zoomRatioRange) => {
N
nikhilraut 已提交
821
    if (err) {
Z
zengyawen 已提交
822
        console.error('Failed to get the zoom ratio range. ${err.message}');
N
nikhilraut 已提交
823 824
        return;
    }
Z
zengyawen 已提交
825
    console.log('Callback returned with zoom ratio range: ' + zoomRatioRange.length);
N
nikhilraut 已提交
826 827 828
})
```

Z
zengyawen 已提交
829
### getZoomRatioRange
N
nikhilraut 已提交
830

Z
zengyawen 已提交
831
getZoomRatioRange\(\): Promise<Array<number\>\>
N
nikhilraut 已提交
832

Z
zengyawen 已提交
833
获取可变焦距比范围,通过Promise获取结果。
N
nikhilraut 已提交
834

Z
zengyawen 已提交
835
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
836 837 838

**返回值:**

Z
zengyawen 已提交
839 840 841
| 类型                     | 说明                                        |
| ------------------------ | ------------------------------------------- |
| Promise<Array<number\>\> | 使用Promise的方式获取当前的可变焦距比范围。 |
N
nikhilraut 已提交
842 843 844

**示例:**

Z
zengyawen 已提交
845
```js
Z
zengyawen 已提交
846 847
cameraInput.getZoomRatioRange().then((zoomRatioRange) => {
    console.log('Promise returned with zoom ratio range: ' + zoomRatioRange.length);
N
nikhilraut 已提交
848 849 850
})
```

Z
zengyawen 已提交
851
### setZoomRatio
N
nikhilraut 已提交
852

Z
zengyawen 已提交
853
setZoomRatio(zoomRatio: number, callback: AsyncCallback<void\>): void
N
nikhilraut 已提交
854

Z
zengyawen 已提交
855
设置可变焦距比,通过注册回调函数获取结果。
N
nikhilraut 已提交
856

Z
zengyawen 已提交
857
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
858 859 860

**参数:**

Z
zengyawen 已提交
861 862 863 864
| 名称      | 类型                 | 必填 | 说明                     |
| --------- | -------------------- | ---- | ------------------------ |
| zoomRatio | number               | 是   | 可变焦距比。             |
| callback  | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
865 866 867

**示例:**

Z
zengyawen 已提交
868
```js
Z
zengyawen 已提交
869
cameraInput.setZoomRatio(1, (err) => {
N
nikhilraut 已提交
870
    if (err) {
Z
zengyawen 已提交
871
        console.error('Failed to set the zoom ratio value ${err.message}');
N
nikhilraut 已提交
872 873
        return;
    }
Z
zengyawen 已提交
874
    console.log('Callback returned with the successful execution of setZoomRatio.');
N
nikhilraut 已提交
875 876 877
})
```

Z
zengyawen 已提交
878
### setZoomRatio
N
nikhilraut 已提交
879

Z
zengyawen 已提交
880
setZoomRatio(zoomRatio: number): Promise<void\>
N
nikhilraut 已提交
881

Z
zengyawen 已提交
882
设置可变焦距比,通过Promise获取结果。
N
nikhilraut 已提交
883

Z
zengyawen 已提交
884
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
885

Z
zengyawen 已提交
886 887 888 889 890 891
**参数:**

| 名称      | 类型   | 必填 | 说明         |
| --------- | ------ | ---- | ------------ |
| zoomRatio | number | 是   | 可变焦距比。 |

N
nikhilraut 已提交
892 893
**返回值:**

Z
zengyawen 已提交
894 895 896
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
897 898 899

**示例:**

Z
zengyawen 已提交
900
```js
Z
zengyawen 已提交
901 902
cameraInput.setZoomRatio(1).then(() => {
    console.log('Promise returned with the successful execution of setZoomRatio.');
N
nikhilraut 已提交
903 904 905
})
```

Z
zengyawen 已提交
906
### getZoomRatio
N
nikhilraut 已提交
907

Z
zengyawen 已提交
908
getZoomRatio(callback: AsyncCallback<number\>): void
N
nikhilraut 已提交
909

Z
zengyawen 已提交
910
获取当前的可变焦距比,通过注册回调函数获取结果。
N
nikhilraut 已提交
911

Z
zengyawen 已提交
912
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
913 914 915

**参数:**

Z
zengyawen 已提交
916 917 918
| 名称     | 类型                   | 必填 | 说明                     |
| -------- | ---------------------- | ---- | ------------------------ |
| callback | AsyncCallback<number\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
919 920 921

**示例:**

Z
zengyawen 已提交
922
```js
Z
zengyawen 已提交
923
cameraInput.getZoomRatio((err, zoomRatio) => {
N
nikhilraut 已提交
924
    if (err) {
Z
zengyawen 已提交
925
        console.error('Failed to get the zoom ratio ${err.message}');
N
nikhilraut 已提交
926 927
        return;
    }
Z
zengyawen 已提交
928
    console.log('Callback returned with current zoom ratio: ' + zoomRatio);
N
nikhilraut 已提交
929 930 931
})
```

Z
zengyawen 已提交
932
### getZoomRatio
J
jiangminyang 已提交
933

Z
zengyawen 已提交
934
getZoomRatio(): Promise<number\>
J
jiangminyang 已提交
935

Z
zengyawen 已提交
936
获取当前的可变焦距比,通过Promise获取结果。
J
jiangminyang 已提交
937

J
jiangminyang 已提交
938 939
**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
940
**返回值:**
J
jiangminyang 已提交
941

Z
zengyawen 已提交
942 943 944
| 类型             | 说明                        |
| ---------------- | --------------------------- |
| Promise<number\> | 使用Promise的方式获取结果。 |
J
jiangminyang 已提交
945 946 947 948

**示例:**

```js
Z
zengyawen 已提交
949 950
cameraInput.getZoomRatio().then((zoomRatio) => {
    console.log('Promise returned with current zoom ratio : ' + zoomRatio);
N
nikhilraut 已提交
951 952 953
})
```

Z
zengyawen 已提交
954
### release
N
nikhilraut 已提交
955

Z
zengyawen 已提交
956
release\(callback: AsyncCallback<void\>\): void
N
nikhilraut 已提交
957

Z
zengyawen 已提交
958
释放相机实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
959

Z
zengyawen 已提交
960
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
961 962 963

**参数:**

Z
zengyawen 已提交
964 965
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
J
jiangminyang 已提交
966
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
967 968 969

**示例:**

Z
zengyawen 已提交
970
```js
Z
zengyawen 已提交
971
cameraInput.release((err) => {
N
nikhilraut 已提交
972
    if (err) {
Z
zengyawen 已提交
973
        console.error('Failed to release the CameraInput instance ${err.message}');
N
nikhilraut 已提交
974 975
        return;
    }
Z
zengyawen 已提交
976 977
    console.log('Callback invoked to indicate that the CameraInput instance is released successfully.');
});
N
nikhilraut 已提交
978 979
```

Z
zengyawen 已提交
980
### release
N
nikhilraut 已提交
981

Z
zengyawen 已提交
982
release(): Promise<void\>
N
nikhilraut 已提交
983

Z
zengyawen 已提交
984
释放相机实例,通过Promise获取结果。
N
nikhilraut 已提交
985

Z
zengyawen 已提交
986
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
987 988 989

**返回值:**

Z
zengyawen 已提交
990 991
| 类型           | 说明                        |
| -------------- | --------------------------- |
J
jiangminyang 已提交
992
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
993 994 995

**示例:**

Z
zengyawen 已提交
996
```js
Z
zengyawen 已提交
997 998
cameraInput.release().then(() => {
    console.log('Promise returned to indicate that the CameraInput instance is released successfully.');
N
nikhilraut 已提交
999 1000 1001
})
```

Z
zengyawen 已提交
1002
### on('focusStateChange')
N
nikhilraut 已提交
1003

Z
zengyawen 已提交
1004
on(type: 'focusStateChange', callback: AsyncCallback<FocusState\>): void
N
nikhilraut 已提交
1005

Z
zengyawen 已提交
1006
监听焦距的状态变化,通过注册回调函数获取结果。
N
nikhilraut 已提交
1007

Z
zengyawen 已提交
1008
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1009 1010 1011

**参数:**

Z
zengyawen 已提交
1012 1013 1014 1015
| 名称     | 类型                                      | 必填 | 说明                                                     |
| :------- | :---------------------------------------- | :--- | :------------------------------------------------------- |
| type     | string                                    | 是   | 监听事件,固定为'focusStateChange',即焦距状态变化事件。 |
| callback | AsyncCallback<[FocusState](#focusstate)\> | 是   | 回调函数,用于获取焦距状态。                             |
N
nikhilraut 已提交
1016 1017 1018

**示例:**

Z
zengyawen 已提交
1019
```js
Z
zengyawen 已提交
1020 1021
cameraInput.on('focusStateChange', (focusState) => {
    console.log('Focus state  : ' + focusState);
N
nikhilraut 已提交
1022 1023 1024
})
```

Z
zengyawen 已提交
1025
### on('error')
N
nikhilraut 已提交
1026

Z
zengyawen 已提交
1027
on(type: 'error', callback: ErrorCallback<CameraInputError\>): void
N
nikhilraut 已提交
1028

Z
zengyawen 已提交
1029
监听CameraInput的错误事件,通过注册回调函数获取结果。
N
nikhilraut 已提交
1030

Z
zengyawen 已提交
1031
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1032 1033 1034

**参数:**

Z
zengyawen 已提交
1035 1036
| 名称     | 类型                             | 必填 | 说明                                             |
| :------- | :------------------------------- | :--- | :----------------------------------------------- |
1037
| type     | string                           | 是   | 监听事件,固定为'error',即CameraInput错误事件。 |
Z
zengyawen 已提交
1038
| callback | ErrorCallback<[CameraInputError](#camerainputerror)\> | 是   | 回调函数,用于获取结果。                         |
N
nikhilraut 已提交
1039 1040 1041

**示例:**

Z
zengyawen 已提交
1042
```js
N
nikhilraut 已提交
1043
cameraInput.on('error', (cameraInputError) => {
Z
zengyawen 已提交
1044
    console.log('Camera input error code: ' + cameraInputError.code);
N
nikhilraut 已提交
1045 1046 1047
})
```

Z
zengyawen 已提交
1048
##  CameraInputErrorCode
1049

Z
zengyawen 已提交
1050
枚举,CameraInput的错误码。
1051 1052 1053

**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
1054 1055 1056
| 名称          | 值   | 说明       |
| ------------- | ---- | ---------- |
| ERROR_UNKNOWN | -1   | 未知错误。 |
1057

Z
zengyawen 已提交
1058
##  CameraInputError
1059

Z
zengyawen 已提交
1060
CameraInput错误对象。
1061 1062 1063

**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
1064 1065
| 名称 | 类型                                        | 说明                       |
| ---- | ------------------------------------------- | -------------------------- |
1066 1067
| code | [CameraInputErrorCode](#camerainputerrorcode) | CameraInput中的错误码。 |

N
nikhilraut 已提交
1068

Z
zengyawen 已提交
1069
## FlashMode
N
nikhilraut 已提交
1070

Z
zengyawen 已提交
1071
枚举,闪光灯模式。
N
nikhilraut 已提交
1072

Z
zengyawen 已提交
1073
**系统能力:** SystemCapability.Multimedia.Camera.Core。
Z
zengyawen 已提交
1074

Z
zengyawen 已提交
1075 1076
| 名称                   | 值   | 说明         |
| ---------------------- | ---- | ------------ |
Z
zengyawen 已提交
1077
| FLASH_MODE_CLOSE       | 0    | 闪光灯关闭。 |
Z
zengyawen 已提交
1078
| FLASH_MODE_OPEN        | 1    | 闪光灯开启。 |
Z
zengyawen 已提交
1079 1080
| FLASH_MODE_AUTO        | 2    | 自动闪光灯。 |
| FLASH_MODE_ALWAYS_OPEN | 3    | 闪光灯常亮。 |
N
nikhilraut 已提交
1081

Z
zengyawen 已提交
1082
## FocusMode
N
nikhilraut 已提交
1083

Z
zengyawen 已提交
1084
枚举,焦距模式。
N
nikhilraut 已提交
1085

Z
zengyawen 已提交
1086
**系统能力:** SystemCapability.Multimedia.Camera.Core。
Z
zengyawen 已提交
1087

Z
zengyawen 已提交
1088 1089 1090 1091 1092 1093
| 名称                       | 值   | 说明               |
| -------------------------- | ---- | ------------------ |
| FOCUS_MODE_MANUAL          | 0    | 手动变焦模式。     |
| FOCUS_MODE_CONTINUOUS_AUTO | 1    | 连续自动变焦模式。 |
| FOCUS_MODE_AUTO            | 2    | 自动变焦模式。     |
| FOCUS_MODE_LOCKED          | 3    | 定焦模式。         |
Z
zengyawen 已提交
1094 1095

## FocusState
N
nikhilraut 已提交
1096

Z
zengyawen 已提交
1097
枚举,焦距状态。
N
nikhilraut 已提交
1098

Z
zengyawen 已提交
1099
**系统能力:** SystemCapability.Multimedia.Camera.Core。
Z
zengyawen 已提交
1100

Z
zengyawen 已提交
1101 1102 1103 1104 1105 1106 1107
| 名称                  | 值   | 说明         |
| --------------------- | ---- | ------------ |
| FOCUS_STATE_SCAN      | 0    | 扫描状态。   |
| FOCUS_STATE_FOCUSED   | 1    | 相机已对焦。 |
| FOCUS_STATE_UNFOCUSED | 2    | 相机未对焦。 |

## camera.createCaptureSession
N
nikhilraut 已提交
1108

Z
zengyawen 已提交
1109
createCaptureSession\(context: Context, callback: AsyncCallback<CaptureSession\>\): void
N
nikhilraut 已提交
1110

Z
zengyawen 已提交
1111
获取CaptureSession实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
1112

Z
zengyawen 已提交
1113
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1114

Z
zengyawen 已提交
1115
**参数:**
N
nikhilraut 已提交
1116

Z
zengyawen 已提交
1117 1118 1119 1120
| 名称     | 类型                                              | 必填 | 说明                                   |
| -------- | ------------------------------------------------- | ---- | -------------------------------------- |
| context  | Context                                           | 是   | 应用上下文。                           |
| callback | AsyncCallback<[CaptureSession](#capturesession)\> | 是   | 回调函数,用于获取CaptureSession实例。 |
N
nikhilraut 已提交
1121

Z
zengyawen 已提交
1122
**示例:**
N
nikhilraut 已提交
1123

Z
zengyawen 已提交
1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142
```js
camera.createCaptureSession((context), (err, captureSession) => {
    if (err) {
        console.error('Failed to create the CaptureSession instance. ${err.message}');
        return;
    }
    console.log('Callback returned with the CaptureSession instance.' + captureSession);
});
```

## camera.createCaptureSession

createCaptureSession(context: Context\): Promise<CaptureSession\>;

获取CaptureSession实例,通过Promise获取结果。

**系统能力:** SystemCapability.Multimedia.Camera.Core

**参数:**
N
nikhilraut 已提交
1143

Z
zengyawen 已提交
1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160
| 名称    | 类型    | 必填 | 说明         |
| ------- | ------- | ---- | ------------ |
| context | Context | 是   | 应用上下文。 |

**返回值:**

| 类型                                        | 说明                                      |
| ------------------------------------------- | ----------------------------------------- |
| Promise<[CaptureSession](#capturesession)\> | 使用Promise的方式获取CaptureSession实例。 |

**示例:**

```js
camera.createCaptureSession(context).then((captureSession) => {
    console.log('Promise returned with the CaptureSession instance');
})
```
N
nikhilraut 已提交
1161

J
jiangminyang 已提交
1162
## CaptureSession
N
nikhilraut 已提交
1163

Z
zengyawen 已提交
1164
拍照会话类。
N
nikhilraut 已提交
1165

Z
zengyawen 已提交
1166
### beginConfig
N
nikhilraut 已提交
1167

Z
zengyawen 已提交
1168
beginConfig\(callback: AsyncCallback<void\>\): void
N
nikhilraut 已提交
1169

Z
zengyawen 已提交
1170
开始配置会话,通过注册回调函数获取结果。
N
nikhilraut 已提交
1171

Z
zengyawen 已提交
1172
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1173 1174 1175

**参数:**

Z
zengyawen 已提交
1176 1177
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
Z
zengyawen 已提交
1178
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1179 1180 1181

**示例:**

Z
zengyawen 已提交
1182
```js
N
nikhilraut 已提交
1183 1184
captureSession.beginConfig((err) => {
    if (err) {
Z
zengyawen 已提交
1185
        console.error('Failed to start the configuration. ${err.message}');
N
nikhilraut 已提交
1186 1187 1188 1189 1190 1191
        return;
    }
    console.log('Callback invoked to indicate the begin config success.');
});
```

Z
zengyawen 已提交
1192
### beginConfig
N
nikhilraut 已提交
1193

Z
zengyawen 已提交
1194
beginConfig\(\): Promise<void\>
N
nikhilraut 已提交
1195

Z
zengyawen 已提交
1196
开始配置会话,通过Promise获取结果。
N
nikhilraut 已提交
1197

Z
zengyawen 已提交
1198
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1199 1200 1201

**返回值:**

Z
zengyawen 已提交
1202 1203
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1204
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1205 1206 1207 1208


**示例:**

Z
zengyawen 已提交
1209
```js
N
nikhilraut 已提交
1210 1211 1212 1213 1214
captureSession.beginConfig().then(() => {
    console.log('Promise returned to indicate the begin config success.');
})
```

Z
zengyawen 已提交
1215
### commitConfig
N
nikhilraut 已提交
1216

Z
zengyawen 已提交
1217
commitConfig\(callback: AsyncCallback<void\>\): void
N
nikhilraut 已提交
1218

Z
zengyawen 已提交
1219
提交会话配置,通过注册回调函数获取结果。
N
nikhilraut 已提交
1220

Z
zengyawen 已提交
1221
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1222 1223 1224

**参数:**

Z
zengyawen 已提交
1225 1226
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
Z
zengyawen 已提交
1227
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1228 1229 1230

**示例:**

Z
zengyawen 已提交
1231
```js
N
nikhilraut 已提交
1232 1233
captureSession.commitConfig((err) => {
    if (err) {
Z
zengyawen 已提交
1234
        console.error('Failed to commit the configuration. ${err.message}');
N
nikhilraut 已提交
1235 1236 1237 1238 1239 1240
        return;
    }
    console.log('Callback invoked to indicate the commit config success.');
});
```

Z
zengyawen 已提交
1241
### commitConfig
N
nikhilraut 已提交
1242

Z
zengyawen 已提交
1243
commitConfig\(\): Promise<void\>
N
nikhilraut 已提交
1244

Z
zengyawen 已提交
1245
提交会话配置,通过Promise获取结果。
N
nikhilraut 已提交
1246

Z
zengyawen 已提交
1247
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1248 1249 1250

**返回值:**

Z
zengyawen 已提交
1251 1252
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1253
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1254 1255 1256

**示例:**

Z
zengyawen 已提交
1257
```js
N
nikhilraut 已提交
1258 1259 1260 1261 1262
captureSession.commitConfig().then(() => {
    console.log('Promise returned to indicate the commit config success.');
})
```

Z
zengyawen 已提交
1263
### addInput
N
nikhilraut 已提交
1264

Z
zengyawen 已提交
1265
addInput\(cameraInput: CameraInput, callback: AsyncCallback<void\>\): void
N
nikhilraut 已提交
1266

Z
zengyawen 已提交
1267
在当前会话中,添加一个CameraInput实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
1268

Z
zengyawen 已提交
1269
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1270 1271 1272

**参数:**

Z
zengyawen 已提交
1273 1274
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
Z
zengyawen 已提交
1275
| cameraInput | [CameraInput](#camerainput) | 是   | 需要添加的CameraInput实例。 |
Z
zengyawen 已提交
1276
| callback    | AsyncCallback<void\>        | 是   | 回调函数,用于获取结果。    |
N
nikhilraut 已提交
1277 1278 1279

**示例:**

Z
zengyawen 已提交
1280
```js
Z
zengyawen 已提交
1281
captureSession.addInput(cameraInput, (err) => {
N
nikhilraut 已提交
1282
    if (err) {
Z
zengyawen 已提交
1283
        console.error('Failed to add the CameraInput instance. ${err.message}');
N
nikhilraut 已提交
1284 1285
        return;
    }
Z
zengyawen 已提交
1286 1287
    console.log('Callback invoked to indicate that the CameraInput instance is added.');
});
N
nikhilraut 已提交
1288 1289
```

Z
zengyawen 已提交
1290
### addInput
N
nikhilraut 已提交
1291

Z
zengyawen 已提交
1292
addInput\(cameraInput: CameraInput\): Promise<void\>
N
nikhilraut 已提交
1293

Z
zengyawen 已提交
1294
在当前会话中,添加一个CameraInput实例,通过Promise获取结果。
N
nikhilraut 已提交
1295

Z
zengyawen 已提交
1296
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1297 1298 1299

**参数:**

Z
zengyawen 已提交
1300 1301
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
Z
zengyawen 已提交
1302
| cameraInput | [CameraInput](#camerainput) | 是   | 需要添加的CameraInput实例。 |
N
nikhilraut 已提交
1303 1304 1305

**返回值:**

Z
zengyawen 已提交
1306 1307 1308
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1309 1310 1311

**示例:**

Z
zengyawen 已提交
1312
```js
Z
zengyawen 已提交
1313 1314
captureSession.addInput(cameraInput).then(() => {
    console.log('Promise used to indicate that the CameraInput instance is added.');
N
nikhilraut 已提交
1315 1316 1317
})
```

Z
zengyawen 已提交
1318
### addOutput
N
nikhilraut 已提交
1319

Z
zengyawen 已提交
1320
addOutput\(previewOutput: PreviewOutput, callback: AsyncCallback<void\>\): void
N
nikhilraut 已提交
1321

Z
zengyawen 已提交
1322
在当前会话中,添加一个PreviewOutput实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
1323

Z
zengyawen 已提交
1324
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1325 1326 1327

**参数:**

Z
zengyawen 已提交
1328 1329 1330 1331
| 名称          | 类型                            | 必填 | 说明                          |
| ------------- | ------------------------------- | ---- | ----------------------------- |
| previewOutput | [PreviewOutput](#previewoutput) | 是   | 需要添加的PreviewOutput实例。 |
| callback      | AsyncCallback<void\>            | 是   | 回调函数,用于获取结果。      |
N
nikhilraut 已提交
1332 1333 1334

**示例:**

Z
zengyawen 已提交
1335
```js
Z
zengyawen 已提交
1336
captureSession.addOutput(previewOutput, (err) => {
N
nikhilraut 已提交
1337
    if (err) {
Z
zengyawen 已提交
1338
        console.error('Failed to add the PreviewOutput instance ${err.message}');
N
nikhilraut 已提交
1339 1340
        return;
    }
Z
zengyawen 已提交
1341
    console.log('Callback invoked to indicate that the PreviewOutput instance is added.');
N
nikhilraut 已提交
1342 1343 1344
});
```

Z
zengyawen 已提交
1345
### addOutput
N
nikhilraut 已提交
1346

Z
zengyawen 已提交
1347
addOutput\(previewOutput: PreviewOutput\): Promise<void\>
N
nikhilraut 已提交
1348

Z
zengyawen 已提交
1349
在当前会话中,添加一个PreviewOutput实例,通过Promise获取结果。
N
nikhilraut 已提交
1350

Z
zengyawen 已提交
1351
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1352 1353 1354

**参数:**

Z
zengyawen 已提交
1355 1356 1357
| 名称          | 类型                            | 必填 | 说明                          |
| ------------- | ------------------------------- | ---- | ----------------------------- |
| previewOutput | [PreviewOutput](#previewoutput) | 是   | 需要添加的PreviewOutput实例。 |
N
nikhilraut 已提交
1358 1359 1360

**返回值:**

Z
zengyawen 已提交
1361 1362
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1363
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1364 1365 1366

**示例:**

Z
zengyawen 已提交
1367
```js
Z
zengyawen 已提交
1368 1369
captureSession.addOutput(previewOutput).then(() => {
    console.log('Promise used to indicate that the PreviewOutput instance is added.');
N
nikhilraut 已提交
1370 1371 1372
})
```

Z
zengyawen 已提交
1373
### addOutput
N
nikhilraut 已提交
1374

Z
zengyawen 已提交
1375
addOutput\(photoOutput: PhotoOutput, callback: AsyncCallback<void\>\): void
N
nikhilraut 已提交
1376

Z
zengyawen 已提交
1377
在当前会话中,添加一个PhotoOutput实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
1378

Z
zengyawen 已提交
1379
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1380 1381 1382

**参数:**

Z
zengyawen 已提交
1383 1384 1385
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| photoOutput | [PhotoOutput](#photooutput) | 是   | 需要添加的PhotoOutput实例。 |
Z
zengyawen 已提交
1386
| callback    | AsyncCallback<void\>        | 是   | 回调函数,用于获取结果。    |
N
nikhilraut 已提交
1387 1388 1389

**示例:**

Z
zengyawen 已提交
1390
```js
Z
zengyawen 已提交
1391
captureSession.addOutput(photoOutput, (err) => {
N
nikhilraut 已提交
1392
    if (err) {
Z
zengyawen 已提交
1393
        console.error('Failed to add the PhotoOutput instance ${err.message}');
N
nikhilraut 已提交
1394 1395
        return;
    }
Z
zengyawen 已提交
1396
    console.log('Callback invoked to indicate that the PhotoOutput instance is added.');
N
nikhilraut 已提交
1397 1398 1399
});
```

Z
zengyawen 已提交
1400
### addOutput
N
nikhilraut 已提交
1401

Z
zengyawen 已提交
1402
addOutput\(photoOutput: PhotoOutput\): Promise<void\>
N
nikhilraut 已提交
1403

Z
zengyawen 已提交
1404
在当前会话中,添加一个PhotoOutput实例,通过Promise获取结果。
N
nikhilraut 已提交
1405

Z
zengyawen 已提交
1406
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1407 1408 1409

**参数:**

Z
zengyawen 已提交
1410 1411 1412
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| photoOutput | [PhotoOutput](#photooutput) | 是   | 需要添加的PhotoOutput实例。 |
N
nikhilraut 已提交
1413 1414 1415

**返回值:**

Z
zengyawen 已提交
1416 1417 1418
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise\<void> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1419 1420 1421

**示例:**

Z
zengyawen 已提交
1422
```js
Z
zengyawen 已提交
1423 1424
captureSession.addOutput(photoOutput).then(() => {
    console.log('Promise used to indicate that the PhotoOutput instance is added.');
N
nikhilraut 已提交
1425 1426 1427
})
```

Z
zengyawen 已提交
1428
### addOutput
N
nikhilraut 已提交
1429

Z
zengyawen 已提交
1430
addOutput\(videoOutput: VideoOutput, callback: AsyncCallback<void\>\): void
N
nikhilraut 已提交
1431

Z
zengyawen 已提交
1432
在当前会话中,添加一个VideoOutput实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
1433

Z
zengyawen 已提交
1434
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1435 1436 1437

**参数:**

Z
zengyawen 已提交
1438 1439 1440 1441
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| videoOutput | [VideoOutput](#videooutput) | 是   | 需要添加的VideoOutput实例。 |
| callback    | AsyncCallback<void\>        | 是   | 回调函数,用于获取结果。    |
N
nikhilraut 已提交
1442 1443 1444

**示例:**

Z
zengyawen 已提交
1445
```js
Z
zengyawen 已提交
1446
captureSession.addOutput(videoOutput, (err) => {
N
nikhilraut 已提交
1447
    if (err) {
Z
zengyawen 已提交
1448
        console.error('Failed to add the VideoOutput instance ${err.message}');
N
nikhilraut 已提交
1449 1450
        return;
    }
Z
zengyawen 已提交
1451 1452
    console.log('Callback invoked to indicate that the VideoOutput instance is added.');
});
N
nikhilraut 已提交
1453 1454
```

Z
zengyawen 已提交
1455
### addOutput
N
nikhilraut 已提交
1456

Z
zengyawen 已提交
1457
addOutput\(videoOutput: VideoOutput\): Promise<void\>
N
nikhilraut 已提交
1458

Z
zengyawen 已提交
1459
在当前会话中,添加一个VideoOutput实例,通过Promise获取结果。
N
nikhilraut 已提交
1460

Z
zengyawen 已提交
1461
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1462 1463 1464

**参数:**

Z
zengyawen 已提交
1465 1466 1467
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| videoOutput | [VideoOutput](#videooutput) | 是   | 需要添加的VideoOutput实例。 |
N
nikhilraut 已提交
1468 1469 1470

**返回值:**

Z
zengyawen 已提交
1471
| 类型           | 说明                        |
Z
zengyawen 已提交
1472
| -------------- | --------------------------- |
Z
zengyawen 已提交
1473
| Promise\<void> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1474 1475 1476

**示例:**

Z
zengyawen 已提交
1477
```js
Z
zengyawen 已提交
1478 1479
captureSession.addOutput(videoOutput).then(() => {
    console.log('Promise used to indicate that the VideoOutput instance is added.');
N
nikhilraut 已提交
1480 1481 1482
})
```

Z
zengyawen 已提交
1483
### removeInput
N
nikhilraut 已提交
1484

Z
zengyawen 已提交
1485
removeInput\(cameraInput: CameraInput, callback: AsyncCallback<void\>\): void
N
nikhilraut 已提交
1486

Z
zengyawen 已提交
1487
在当前会话中,移除一个CameraInput实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
1488

Z
zengyawen 已提交
1489
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1490 1491 1492

**参数:**

Z
zengyawen 已提交
1493 1494 1495 1496
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| cameraInput | [CameraInput](#camerainput) | 是   | 需要移除的CameraInput实例。 |
| callback    | AsyncCallback<void\>        | 是   | 回调函数,用于获取结果。    |
N
nikhilraut 已提交
1497 1498 1499

**示例:**

Z
zengyawen 已提交
1500
```js
Z
zengyawen 已提交
1501
captureSession.removeInput(cameraInput, (err) => {
N
nikhilraut 已提交
1502
    if (err) {
Z
zengyawen 已提交
1503
        console.error('Failed to remove the CameraInput instance. ${err.message}');
N
nikhilraut 已提交
1504 1505
        return;
    }
Z
zengyawen 已提交
1506 1507
    console.log('Callback invoked to indicate that the cameraInput instance is removed.');
});
N
nikhilraut 已提交
1508 1509
```

Z
zengyawen 已提交
1510
### removeInput
N
nikhilraut 已提交
1511

Z
zengyawen 已提交
1512
removeInput\(cameraInput: CameraInput\): Promise<void\>
N
nikhilraut 已提交
1513

Z
zengyawen 已提交
1514
在当前会话中,移除一个CameraInput实例,通过Promise获取结果。
N
nikhilraut 已提交
1515

Z
zengyawen 已提交
1516
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1517 1518 1519

**参数:**

Z
zengyawen 已提交
1520 1521 1522
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| cameraInput | [CameraInput](#camerainput) | 是   | 需要移除的CameraInput实例。 |
N
nikhilraut 已提交
1523 1524 1525

**返回值:**

Z
zengyawen 已提交
1526 1527 1528
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise\<void> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1529 1530 1531

**示例:**

Z
zengyawen 已提交
1532
```js
Z
zengyawen 已提交
1533 1534
captureSession.removeInput(cameraInput).then(() => {
    console.log('Promise returned to indicate that the cameraInput instance is removed.');
N
nikhilraut 已提交
1535 1536 1537
})
```

Z
zengyawen 已提交
1538
### removeOutput
N
nikhilraut 已提交
1539

Z
zengyawen 已提交
1540
removeOutput\(previewOutput: PreviewOutput, callback: AsyncCallback<void\>\): void
N
nikhilraut 已提交
1541

Z
zengyawen 已提交
1542
在当前会话中,移除一个PreviewOutput实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
1543

Z
zengyawen 已提交
1544
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1545 1546 1547

**参数:**

Z
zengyawen 已提交
1548 1549 1550
| 名称          | 类型                            | 必填 | 说明                          |
| ------------- | ------------------------------- | ---- | ----------------------------- |
| previewOutput | [PreviewOutput](#previewoutput) | 是   | 需要移除的PreviewOutput实例。 |
Z
zengyawen 已提交
1551
| callback      | AsyncCallback<void\>            | 是   | 回调函数,用于获取结果。      |
N
nikhilraut 已提交
1552 1553 1554

**示例:**

Z
zengyawen 已提交
1555
```js
Z
zengyawen 已提交
1556
captureSession.removeOutput(previewOutput, (err) => {
N
nikhilraut 已提交
1557
    if (err) {
Z
zengyawen 已提交
1558
        console.error('Failed to remove the PreviewOutput instance. ${err.message}');
N
nikhilraut 已提交
1559 1560
        return;
    }
Z
zengyawen 已提交
1561
    console.log('Callback invoked to indicate that the PreviewOutput instance is removed.');
N
nikhilraut 已提交
1562 1563 1564
});
```

Z
zengyawen 已提交
1565
### removeOutput
N
nikhilraut 已提交
1566

Z
zengyawen 已提交
1567
removeOutput(previewOutput: PreviewOutput): Promise<void\>
N
nikhilraut 已提交
1568

Z
zengyawen 已提交
1569
在当前会话中,移除一个PreviewOutput实例,通过Promise获取结果。
N
nikhilraut 已提交
1570

Z
zengyawen 已提交
1571
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1572 1573 1574

**参数:**

Z
zengyawen 已提交
1575 1576 1577
| 名称          | 类型                            | 必填 | 说明                          |
| ------------- | ------------------------------- | ---- | ----------------------------- |
| previewOutput | [PreviewOutput](#previewoutput) | 是   | 需要移除的PreviewOutput实例。 |
N
nikhilraut 已提交
1578 1579 1580 1581


**返回值:**

Z
zengyawen 已提交
1582 1583
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1584
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1585 1586 1587 1588


**示例:**

Z
zengyawen 已提交
1589
```js
Z
zengyawen 已提交
1590 1591
captureSession.removeOutput(previewOutput).then(() => {
    console.log('Promise returned to indicate that the PreviewOutput instance is removed.');
N
nikhilraut 已提交
1592 1593 1594
})
```

Z
zengyawen 已提交
1595
### removeOutput
N
nikhilraut 已提交
1596

Z
zengyawen 已提交
1597
removeOutput(photoOutput: PhotoOutput, callback: AsyncCallback<void\>): void
N
nikhilraut 已提交
1598

Z
zengyawen 已提交
1599
在当前会话中,移除一个PhotoOutput实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
1600

Z
zengyawen 已提交
1601
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1602 1603 1604

**参数:**

Z
zengyawen 已提交
1605 1606 1607 1608
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| photoOutput | [PhotoOutput](#photooutput) | 是   | 需要移除的PhotoOutput实例。 |
| callback    | AsyncCallback<void\>        | 是   | 回调函数,用于获取结果。    |
N
nikhilraut 已提交
1609 1610 1611

**示例:**

Z
zengyawen 已提交
1612
```js
Z
zengyawen 已提交
1613
captureSession.removeOutput(photoOutput, (err) => {
N
nikhilraut 已提交
1614
    if (err) {
Z
zengyawen 已提交
1615
        console.error('Failed to remove the PhotoOutput instance. ${err.message}');
N
nikhilraut 已提交
1616 1617
        return;
    }
Z
zengyawen 已提交
1618
    console.log('Callback invoked to indicate that the PhotoOutput instance is removed.');
N
nikhilraut 已提交
1619 1620 1621
});
```

Z
zengyawen 已提交
1622
### removeOutput
N
nikhilraut 已提交
1623

Z
zengyawen 已提交
1624
removeOutput(photoOutput: PhotoOutput): Promise<void\>
N
nikhilraut 已提交
1625

Z
zengyawen 已提交
1626
在当前会话中,移除一个PhotoOutput实例,通过Promise获取结果。
N
nikhilraut 已提交
1627

Z
zengyawen 已提交
1628
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1629

Z
zengyawen 已提交
1630 1631 1632 1633 1634 1635 1636
**参数:**

| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| photoOutput | [PhotoOutput](#photooutput) | 是   | 需要移除的PhotoOutput实例。 |


N
nikhilraut 已提交
1637 1638
**返回值:**

Z
zengyawen 已提交
1639 1640
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1641
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1642

Z
zengyawen 已提交
1643

N
nikhilraut 已提交
1644 1645
**示例:**

Z
zengyawen 已提交
1646
```js
Z
zengyawen 已提交
1647 1648
captureSession.removeOutput(photoOutput).then(() => {
    console.log('Promise returned to indicate that the PhotoOutput instance is removed.');
N
nikhilraut 已提交
1649 1650 1651
})
```

Z
zengyawen 已提交
1652
### removeOutput
N
nikhilraut 已提交
1653

Z
zengyawen 已提交
1654
removeOutput(videoOutput: VideoOutput, callback: AsyncCallback<void\>): void
N
nikhilraut 已提交
1655

Z
zengyawen 已提交
1656
在当前会话中,移除一个VideoOutput实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
1657

Z
zengyawen 已提交
1658
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1659 1660 1661

**参数:**

Z
zengyawen 已提交
1662 1663 1664 1665
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| videoOutput | [VideoOutput](#videooutput) | 是   | 需要移除的VideoOutput实例。 |
| callback    | AsyncCallback<void\>        | 是   | 回调函数,用于获取结果。    |
N
nikhilraut 已提交
1666 1667 1668

**示例:**

Z
zengyawen 已提交
1669
```js
Z
zengyawen 已提交
1670
captureSession.removeOutput(videoOutput, (err) => {
N
nikhilraut 已提交
1671
    if (err) {
Z
zengyawen 已提交
1672
        console.error('Failed to remove the VideoOutput instance. ${err.message}');
N
nikhilraut 已提交
1673 1674
        return;
    }
Z
zengyawen 已提交
1675
    console.log('Callback invoked to indicate that the VideoOutput instance is removed.');
N
nikhilraut 已提交
1676 1677 1678
});
```

Z
zengyawen 已提交
1679
### removeOutput
N
nikhilraut 已提交
1680

Z
zengyawen 已提交
1681
removeOutput(videoOutput: VideoOutput): Promise<void\>
N
nikhilraut 已提交
1682

Z
zengyawen 已提交
1683
在当前会话中,移除一个VideoOutput实例,通过Promise获取结果。
N
nikhilraut 已提交
1684

Z
zengyawen 已提交
1685
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1686

Z
zengyawen 已提交
1687 1688 1689 1690 1691 1692 1693
**参数:**

| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| videoOutput | [VideoOutput](#videooutput) | 是   | 需要移除的VideoOutput实例。 |


N
nikhilraut 已提交
1694 1695
**返回值:**

Z
zengyawen 已提交
1696 1697
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1698
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1699

Z
zengyawen 已提交
1700

N
nikhilraut 已提交
1701 1702
**示例:**

Z
zengyawen 已提交
1703
```js
Z
zengyawen 已提交
1704 1705
captureSession.removeOutput(videoOutput).then(() => {
    console.log('Promise returned to indicate that the VideoOutput instance is removed.');
N
nikhilraut 已提交
1706 1707 1708
})
```

Z
zengyawen 已提交
1709
### start
N
nikhilraut 已提交
1710

Z
zengyawen 已提交
1711
start\(callback: AsyncCallback<void\>\): void
N
nikhilraut 已提交
1712

Z
zengyawen 已提交
1713
启动拍照会话,通过注册回调函数获取结果。
N
nikhilraut 已提交
1714

Z
zengyawen 已提交
1715
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1716 1717 1718

**参数:**

Z
zengyawen 已提交
1719 1720
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
Z
zengyawen 已提交
1721
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1722 1723 1724

**示例:**

Z
zengyawen 已提交
1725
```js
Z
zengyawen 已提交
1726
captureSession.start((err) => {
N
nikhilraut 已提交
1727
    if (err) {
Z
zengyawen 已提交
1728
        console.error('Failed to start the session ${err.message}');
N
nikhilraut 已提交
1729 1730
        return;
    }
Z
zengyawen 已提交
1731 1732
    console.log('Callback invoked to indicate the session start success.');
});
N
nikhilraut 已提交
1733 1734
```

Z
zengyawen 已提交
1735
### start
N
nikhilraut 已提交
1736

Z
zengyawen 已提交
1737
start\(\): Promise<void\>
N
nikhilraut 已提交
1738

Z
zengyawen 已提交
1739
启动拍照会话,通过Promise获取结果。
N
nikhilraut 已提交
1740

Z
zengyawen 已提交
1741
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1742 1743 1744

**返回值:**

Z
zengyawen 已提交
1745 1746
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1747
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1748 1749 1750

**示例:**

Z
zengyawen 已提交
1751
```js
Z
zengyawen 已提交
1752 1753
captureSession.start().then(() => {
    console.log('Promise returned to indicate the session start success.');
N
nikhilraut 已提交
1754 1755 1756
})
```

Z
zengyawen 已提交
1757
### stop
N
nikhilraut 已提交
1758

Z
zengyawen 已提交
1759
stop\(callback: AsyncCallback<void\>\): void
N
nikhilraut 已提交
1760

Z
zengyawen 已提交
1761
停止拍照会话,通过注册回调函数获取结果。
N
nikhilraut 已提交
1762

Z
zengyawen 已提交
1763
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1764 1765 1766

**参数:**

Z
zengyawen 已提交
1767 1768 1769

| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
Z
zengyawen 已提交
1770
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1771 1772 1773

**示例:**

Z
zengyawen 已提交
1774
```js
Z
zengyawen 已提交
1775
captureSession.stop((err) => {
N
nikhilraut 已提交
1776
    if (err) {
Z
zengyawen 已提交
1777
        console.error('Failed to stop the session ${err.message}');
N
nikhilraut 已提交
1778 1779
        return;
    }
Z
zengyawen 已提交
1780 1781
    console.log('Callback invoked to indicate the session stop success.');
});
N
nikhilraut 已提交
1782 1783
```

Z
zengyawen 已提交
1784
### stop
N
nikhilraut 已提交
1785

Z
zengyawen 已提交
1786
stop(): Promise<void\>
N
nikhilraut 已提交
1787

Z
zengyawen 已提交
1788
停止拍照会话,通过Promise获取结果。
N
nikhilraut 已提交
1789

Z
zengyawen 已提交
1790
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1791 1792 1793

**返回值:**

Z
zengyawen 已提交
1794 1795
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1796
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1797 1798 1799

**示例:**

Z
zengyawen 已提交
1800
```js
Z
zengyawen 已提交
1801 1802
captureSession.stop().then(() => {
    console.log('Promise returned to indicate the session stop success.');
N
nikhilraut 已提交
1803 1804 1805
})
```

Z
zengyawen 已提交
1806
### release
N
nikhilraut 已提交
1807

Z
zengyawen 已提交
1808
release\(callback: AsyncCallback<void\>\): void
N
nikhilraut 已提交
1809

Z
zengyawen 已提交
1810
释放CaptureSession实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
1811

Z
zengyawen 已提交
1812
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1813 1814

**参数:**
Z
zengyawen 已提交
1815

Z
zengyawen 已提交
1816 1817
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
Z
zengyawen 已提交
1818
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1819 1820 1821

**示例:**

Z
zengyawen 已提交
1822
```js
N
nikhilraut 已提交
1823 1824
captureSession.release((err) => {
    if (err) {
Z
zengyawen 已提交
1825
        console.error('Failed to release the CaptureSession instance ${err.message}');
N
nikhilraut 已提交
1826 1827 1828 1829 1830 1831
        return;
    }
    console.log('Callback invoked to indicate that the CaptureSession instance is released successfully.');
});
```

Z
zengyawen 已提交
1832
### release
N
nikhilraut 已提交
1833

Z
zengyawen 已提交
1834
release(): Promise<void\>
N
nikhilraut 已提交
1835

Z
zengyawen 已提交
1836
释放CaptureSession实例,通过Promise获取结果。
N
nikhilraut 已提交
1837

Z
zengyawen 已提交
1838
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1839 1840 1841

**返回值:**

Z
zengyawen 已提交
1842 1843
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1844
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1845 1846 1847

**示例:**

Z
zengyawen 已提交
1848
```js
N
nikhilraut 已提交
1849 1850 1851 1852 1853
captureSession.release().then(() => {
    console.log('Promise returned to indicate that the CaptureSession instance is released successfully.');
})
```

Z
zengyawen 已提交
1854
### on('error')
N
nikhilraut 已提交
1855

Z
zengyawen 已提交
1856
on(type: 'error', callback: ErrorCallback<CaptureSessionError\>): void
N
nikhilraut 已提交
1857

Z
zengyawen 已提交
1858
监听拍照会话的错误事件,通过注册回调函数获取结果。
N
nikhilraut 已提交
1859

Z
zengyawen 已提交
1860
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1861 1862 1863

**参数:**

Z
zengyawen 已提交
1864 1865 1866 1867
| 名称     | 类型                                                        | 必填 | 说明                                          |
| :------- | :---------------------------------------------------------- | :--- | :-------------------------------------------- |
| type     | string                                                      | 是   | 监听事件,固定为'error',即拍照会话错误事件。 |
| callback | ErrorCallback<[CaptureSessionError](#capturesessionerror)\> | 是   | 回调函数,用于获取错误信息。                  |
N
nikhilraut 已提交
1868 1869 1870

**示例:**

Z
zengyawen 已提交
1871
```js
Z
zengyawen 已提交
1872 1873
captureSession.on('error', (captureSessionError) => {
    console.log('Capture session error code: ' + captureSessionError.code);
N
nikhilraut 已提交
1874 1875 1876
})
```

Z
zengyawen 已提交
1877
##  CaptureSessionErrorCode
Z
zengyawen 已提交
1878

Z
zengyawen 已提交
1879
枚举,拍照会话的错误码。
Z
zengyawen 已提交
1880

J
jiangminyang 已提交
1881
**系统能力:** SystemCapability.Multimedia.Camera.Core
Z
zengyawen 已提交
1882

Z
zengyawen 已提交
1883 1884 1885
| 名称          | 值   | 说明       |
| ------------- | ---- | ---------- |
| ERROR_UNKNOWN | -1   | 未知错误。 |
Z
zengyawen 已提交
1886

Z
zengyawen 已提交
1887
##  CaptureSessionError
Z
zengyawen 已提交
1888

Z
zengyawen 已提交
1889
拍照会话错误对象。
Z
zengyawen 已提交
1890

Z
zengyawen 已提交
1891
**系统能力:** SystemCapability.Multimedia.Camera.Core
Z
zengyawen 已提交
1892

Z
zengyawen 已提交
1893 1894 1895
| 名称 | 类型                                        | 说明                       |
| ---- | ------------------------------------------- | -------------------------- |
| code | [CaptureSessionError](#capturesessionerror) | CaptureSession中的错误码。 |
N
nikhilraut 已提交
1896

Z
zengyawen 已提交
1897 1898 1899
## camera.createPreviewOutput

createPreviewOutput(surfaceId: string, callback: AsyncCallback<PreviewOutput\>): void
N
nikhilraut 已提交
1900

Z
zengyawen 已提交
1901
获取PreviewOutput实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
1902

Z
zengyawen 已提交
1903
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1904 1905 1906

**参数:**

Z
zengyawen 已提交
1907 1908 1909 1910
| 名称      | 类型                                            | 必填 | 说明                                  |
| --------- | ----------------------------------------------- | ---- | ------------------------------------- |
| surfaceId | string                                          | 是   | 从XComponent组件获取的Surface ID。    |
| callback  | AsyncCallback<[PreviewOutput](#previewoutput)\> | 是   | 回调函数,用于获取PreviewOutput实例。 |
N
nikhilraut 已提交
1911 1912 1913

**示例:**

Z
zengyawen 已提交
1914
```js
Z
zengyawen 已提交
1915
camera.createPreviewOutput(("surfaceId"), (err, previewOutput) => {
N
nikhilraut 已提交
1916
    if (err) {
Z
zengyawen 已提交
1917
        console.error('Failed to create the PreviewOutput instance. ${err.message}');
N
nikhilraut 已提交
1918 1919
        return;
    }
Z
zengyawen 已提交
1920 1921
    console.log('Callback returned with previewOutput instance');
});
Z
zengyawen 已提交
1922
```
N
nikhilraut 已提交
1923

Z
zengyawen 已提交
1924
## camera.createPreviewOutput
N
nikhilraut 已提交
1925

Z
zengyawen 已提交
1926
createPreviewOutput(surfaceId: string): Promise\<PreviewOutput>
N
nikhilraut 已提交
1927

Z
zengyawen 已提交
1928
获取PreviewOutput实例,通过Promise获取结果。
N
nikhilraut 已提交
1929

Z
zengyawen 已提交
1930
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1931 1932 1933

**参数:**

Z
zengyawen 已提交
1934 1935 1936
| 名称      | 类型   | 必填 | 说明                               |
| --------- | ------ | ---- | ---------------------------------- |
| surfaceId | string | 是   | 从XComponent组件获取的Surface ID。 |
N
nikhilraut 已提交
1937 1938 1939

**返回值:**

Z
zengyawen 已提交
1940 1941 1942
| 类型                                      | 说明                        |
| ----------------------------------------- | --------------------------- |
| Promise<[PreviewOutput](#previewoutput)\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1943 1944 1945

**示例:**

Z
zengyawen 已提交
1946
```js
Z
zengyawen 已提交
1947 1948
camera.createPreviewOutput("surfaceId").then((previewOutput) => {
    console.log('Promise returned with the PreviewOutput instance');
N
nikhilraut 已提交
1949 1950 1951
})
```

Z
zengyawen 已提交
1952
## PreviewOutput
N
nikhilraut 已提交
1953

Z
zengyawen 已提交
1954
预览输出类。
N
nikhilraut 已提交
1955

Z
zengyawen 已提交
1956
### release
N
nikhilraut 已提交
1957

Z
zengyawen 已提交
1958
release(callback: AsyncCallback<void\>): void
N
nikhilraut 已提交
1959

Z
zengyawen 已提交
1960
释放PreviewOutput实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
1961

Z
zengyawen 已提交
1962
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1963 1964 1965

**参数:**

Z
zengyawen 已提交
1966 1967 1968
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1969 1970 1971

**示例:**

Z
zengyawen 已提交
1972
```js
Z
zengyawen 已提交
1973
previewOutput.release((err) => {
N
nikhilraut 已提交
1974
    if (err) {
Z
zengyawen 已提交
1975
        console.error('Failed to release the PreviewOutput instance ${err.message}');
N
nikhilraut 已提交
1976 1977
        return;
    }
Z
zengyawen 已提交
1978 1979
    console.log('Callback invoked to indicate that the PreviewOutput instance is released successfully.');
});
N
nikhilraut 已提交
1980 1981
```

Z
zengyawen 已提交
1982
### release
J
jiangminyang 已提交
1983

Z
zengyawen 已提交
1984
release(): Promise<void\>
J
jiangminyang 已提交
1985

Z
zengyawen 已提交
1986
释放PreviewOutput实例,通过Promise获取结果。
N
nikhilraut 已提交
1987

Z
zengyawen 已提交
1988
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1989 1990 1991

**返回值:**

Z
zengyawen 已提交
1992 1993
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1994
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1995

Z
zengyawen 已提交
1996

N
nikhilraut 已提交
1997 1998
**示例:**

Z
zengyawen 已提交
1999
```js
Z
zengyawen 已提交
2000 2001
previewOutput.release().then(() => {
    console.log('Promise returned to indicate that the PreviewOutput instance is released successfully.');
N
nikhilraut 已提交
2002 2003 2004
})
```

Z
zengyawen 已提交
2005
### on('frameStart')
N
nikhilraut 已提交
2006

Z
zengyawen 已提交
2007
on(type: 'frameStart', callback: AsyncCallback<void\>): void
N
nikhilraut 已提交
2008

Z
zengyawen 已提交
2009
监听预览帧启动,通过注册回调函数获取结果。
N
nikhilraut 已提交
2010

Z
zengyawen 已提交
2011
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2012 2013 2014

**参数:**

Z
zengyawen 已提交
2015 2016 2017 2018
| 名称     | 类型                 | 必填 | 说明                                         |
| :------- | :------------------- | :--- | :------------------------------------------- |
| type     | string               | 是   | 监听事件,固定为'frameStart',即帧启动事件。 |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。                     |
N
nikhilraut 已提交
2019 2020 2021

**示例:**

Z
zengyawen 已提交
2022
```js
Z
zengyawen 已提交
2023 2024
previewOutput.on('frameStart', () => {
    console.log('Preview frame started');
N
nikhilraut 已提交
2025 2026 2027
})
```

Z
zengyawen 已提交
2028
### on('frameEnd')
N
nikhilraut 已提交
2029

Z
zengyawen 已提交
2030
on(type: 'frameEnd', callback: AsyncCallback<void\>): void
N
nikhilraut 已提交
2031

Z
zengyawen 已提交
2032
监听预览帧结束,通过注册回调函数获取结果。
N
nikhilraut 已提交
2033

Z
zengyawen 已提交
2034
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2035

Z
zengyawen 已提交
2036
**参数:**
N
nikhilraut 已提交
2037

Z
zengyawen 已提交
2038 2039 2040 2041
| 名称     | 类型                 | 必填 | 说明                                       |
| :------- | :------------------- | :--- | :----------------------------------------- |
| type     | string               | 是   | 监听事件,固定为'frameEnd',即帧结束事件。 |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。                   |
N
nikhilraut 已提交
2042 2043 2044

**示例:**

Z
zengyawen 已提交
2045
```js
Z
zengyawen 已提交
2046 2047
previewOutput.on('frameEnd', () => {
    console.log('Preview frame ended');
N
nikhilraut 已提交
2048 2049 2050
})
```

Z
zengyawen 已提交
2051
### on('error')
N
nikhilraut 已提交
2052

Z
zengyawen 已提交
2053
on(type: 'error', callback: ErrorCallback<PreviewOutputError\>): void
N
nikhilraut 已提交
2054

Z
zengyawen 已提交
2055
监听预览输出的错误事件,通过注册回调函数获取结果。
N
nikhilraut 已提交
2056

Z
zengyawen 已提交
2057
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2058 2059 2060

**参数:**

Z
zengyawen 已提交
2061 2062 2063 2064
| 名称     | 类型                                                         | 必填 | 说明                                          |
| :------- | :----------------------------------------------------------- | :--- | :-------------------------------------------- |
| type     | string                                                       | 是   | 监听事件,固定为'error',即预览输出错误事件。 |
| callback | ErrorCallback<[PreviewOutputErrorCode](#previewoutputerrorcode)\> | 是   | 回调函数,用于获取错误信息。                  |
N
nikhilraut 已提交
2065 2066 2067

**示例:**

Z
zengyawen 已提交
2068
```js
Z
zengyawen 已提交
2069 2070
previewOutput.on('error', (previewOutputError) => {
    console.log('Preview output error code: ' + previewOutputError.code);
N
nikhilraut 已提交
2071 2072 2073
})
```

Z
zengyawen 已提交
2074
## PreviewOutputErrorCode
J
jiangminyang 已提交
2075

Z
zengyawen 已提交
2076
枚举,预览输出的错误码。
Z
zengyawen 已提交
2077 2078 2079

**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
2080 2081 2082
| 名称          | 值   | 说明       |
| ------------- | ---- | ---------- |
| ERROR_UNKNOWN | -1   | 未知错误。 |
J
jiangminyang 已提交
2083

Z
zengyawen 已提交
2084
##  PreviewOutputError
Z
zengyawen 已提交
2085

Z
zengyawen 已提交
2086
预览输出错误对象。
Z
zengyawen 已提交
2087

Z
zengyawen 已提交
2088
**系统能力:** SystemCapability.Multimedia.Camera.Core
J
jiangminyang 已提交
2089

Z
zengyawen 已提交
2090 2091 2092
| 名称 | 类型                                              | 说明                   |
| ---- | ------------------------------------------------- | ---------------------- |
| code | [PreviewOutputErrorCode](#previewoutputerrorcode) | PreviewOutput中的错误码。 |
J
jiangminyang 已提交
2093

Z
zengyawen 已提交
2094
## camera.createPhotoOutput
J
jiangminyang 已提交
2095

Z
zengyawen 已提交
2096
createPhotoOutput(surfaceId: string, callback: AsyncCallback<PhotoOutput\>): void
J
jiangminyang 已提交
2097

Z
zengyawen 已提交
2098
获取PhotoOutput实例,通过注册回调函数获取结果。
Z
zengyawen 已提交
2099 2100 2101

**系统能力:** SystemCapability.Multimedia.Camera.Core

J
jiangminyang 已提交
2102 2103
**参数:**

Z
zengyawen 已提交
2104 2105 2106 2107
| 名称      | 类型                                        | 必填 | 说明                                |
| --------- | ------------------------------------------- | ---- | ----------------------------------- |
| surfaceId | string                                      | 是   | 从[ImageReceiver](js-apis-image.md#imagereceiver9)获取的Surface ID。   |
| callback  | AsyncCallback<[PhotoOutput](#photooutput)\> | 是   | 回调函数,用于获取PhotoOutput实例。 |
J
jiangminyang 已提交
2108 2109 2110 2111

**示例:**

```js
Z
zengyawen 已提交
2112
camera.createPhotoOutput(("surfaceId"), (err, photoOutput) => {
J
jiangminyang 已提交
2113
    if (err) {
Z
zengyawen 已提交
2114 2115
        console.error('Failed to create the PhotoOutput instance. ${err.message}');
        return;
J
jiangminyang 已提交
2116
    }
Z
zengyawen 已提交
2117 2118
    console.log('Callback returned with the PhotoOutput instance.');
});
J
jiangminyang 已提交
2119 2120
```

Z
zengyawen 已提交
2121
## camera.createPhotoOutput
J
jiangminyang 已提交
2122

Z
zengyawen 已提交
2123
createPhotoOutput(surfaceId: string): Promise<PhotoOutput\>
J
jiangminyang 已提交
2124

Z
zengyawen 已提交
2125
获取PhotoOutput实例,通过Promise获取结果。
Z
zengyawen 已提交
2126

J
jiangminyang 已提交
2127 2128
**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
2129 2130 2131 2132 2133 2134
**参数:**

| 名称      | 类型   | 必填 | 说明                              |
| --------- | ------ | ---- | --------------------------------- |
| surfaceId | string | 是   | 从[ImageReceiver](js-apis-image.md#imagereceiver9)获取的Surface ID。 |

J
jiangminyang 已提交
2135 2136
**返回值:**

Z
zengyawen 已提交
2137 2138 2139
| 类型                                  | 说明                                   |
| ------------------------------------- | -------------------------------------- |
| Promise<[PhotoOutput](#photooutput)\> | 使用Promise的方式获取PhotoOutput实例。 |
J
jiangminyang 已提交
2140 2141 2142 2143

**示例:**

```js
Z
zengyawen 已提交
2144 2145
camera.createPhotoOutput("surfaceId").then((photoOutput) => {
    console.log('Promise returned with PhotoOutput instance');
J
jiangminyang 已提交
2146 2147
})
```
Z
zengyawen 已提交
2148
## ImageRotation
N
nikhilraut 已提交
2149

Z
zengyawen 已提交
2150
枚举,图片旋转角度。
N
nikhilraut 已提交
2151

Z
zengyawen 已提交
2152
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2153

Z
zengyawen 已提交
2154 2155 2156 2157 2158 2159
| 名称         | 值   | 说明            |
| ------------ | ---- | --------------- |
| ROTATION_0   | 0    | 图片旋转0度。   |
| ROTATION_90  | 90   | 图片旋转90度。  |
| ROTATION_180 | 180  | 图片旋转180度。 |
| ROTATION_270 | 270  | 图片旋转270度。 |
N
nikhilraut 已提交
2160

Z
zengyawen 已提交
2161
## QualityLevel
N
nikhilraut 已提交
2162

Z
zengyawen 已提交
2163
枚举,图片质量。
N
nikhilraut 已提交
2164

Z
zengyawen 已提交
2165 2166 2167 2168 2169 2170 2171
**系统能力:** SystemCapability.Multimedia.Camera.Core

| 名称                 | 值   | 说明           |
| -------------------- | ---- | -------------- |
| QUALITY_LEVEL_HIGH   | 0    | 图片质量高。   |
| QUALITY_LEVEL_MEDIUM | 1    | 图片质量中等。 |
| QUALITY_LEVEL_LOW    | 2    | 图片质量差。   |
J
jiangminyang 已提交
2172 2173


Z
zengyawen 已提交
2174
## PhotoCaptureSetting
J
jiangminyang 已提交
2175

Z
zengyawen 已提交
2176
拍摄照片的设置。
J
jiangminyang 已提交
2177 2178 2179

**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
2180 2181 2182 2183
| 名称     | 类型                            | 必填 | 说明           |
| -------- | ------------------------------- | ---- | -------------- |
| quality  | [QualityLevel](#qualitylevel)   | 否   | 图片质量。     |
| rotation | [ImageRotation](#imagerotation) | 否   | 图片旋转角度。 |
J
jiangminyang 已提交
2184 2185


Z
zengyawen 已提交
2186
## PhotoOutput
J
jiangminyang 已提交
2187

Z
zengyawen 已提交
2188
照片输出类。
N
nikhilraut 已提交
2189

Z
zengyawen 已提交
2190
### capture
N
nikhilraut 已提交
2191

Z
zengyawen 已提交
2192
capture(callback: AsyncCallback<void\>): void
N
nikhilraut 已提交
2193

Z
zengyawen 已提交
2194
拍照,通过注册回调函数获取结果。
N
nikhilraut 已提交
2195

Z
zengyawen 已提交
2196
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2197 2198 2199

**参数:**

Z
zengyawen 已提交
2200 2201 2202
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
J
jiangminyang 已提交
2203 2204 2205 2206

**示例:**

```js
Z
zengyawen 已提交
2207
photoOutput.capture((err) => {
J
jiangminyang 已提交
2208
    if (err) {
Z
zengyawen 已提交
2209 2210
        console.error('Failed to capture the photo ${err.message}');
        return;
J
jiangminyang 已提交
2211
    }
Z
zengyawen 已提交
2212 2213
    console.log('Callback invoked to indicate the photo capture request success.');
});
J
jiangminyang 已提交
2214 2215
```

Z
zengyawen 已提交
2216
### capture
J
jiangminyang 已提交
2217

Z
zengyawen 已提交
2218
capture(setting: PhotoCaptureSetting, callback: AsyncCallback<void\>): void
J
jiangminyang 已提交
2219

Z
zengyawen 已提交
2220
根据拍照设置拍照,通过注册回调函数获取结果。
J
jiangminyang 已提交
2221 2222

**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2223

Z
zengyawen 已提交
2224
**参数:**
N
nikhilraut 已提交
2225

Z
zengyawen 已提交
2226 2227 2228 2229
| 名称     | 类型                                        | 必填 | 说明                     |
| -------- | ------------------------------------------- | ---- | ------------------------ |
| setting  | [PhotoCaptureSetting](#photocapturesetting) | 是   | 拍照设置。               |
| callback | AsyncCallback<void\>                        | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
2230 2231 2232

**示例:**

Z
zengyawen 已提交
2233
```js
Z
zengyawen 已提交
2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244
let settings:PhotoCaptureSetting = {
    quality = 1,
    rotation = 0
}
photoOutput.capture(settings, (err) => {
    if (err) {
        console.error('Failed to capture the photo ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the photo capture request success.');
});
J
jiangminyang 已提交
2245 2246
```

Z
zengyawen 已提交
2247
### capture
J
jiangminyang 已提交
2248

Z
zengyawen 已提交
2249
capture(setting?: PhotoCaptureSetting): Promise<void\>
J
jiangminyang 已提交
2250

Z
zengyawen 已提交
2251
根据拍照设置拍照,通过Promise获取结果。
J
jiangminyang 已提交
2252 2253 2254 2255 2256

**系统能力:** SystemCapability.Multimedia.Camera.Core

**参数:**

Z
zengyawen 已提交
2257 2258 2259
| 名称    | 类型                                        | 必填 | 说明       |
| ------- | ------------------------------------------- | ---- | ---------- |
| setting | [PhotoCaptureSetting](#photocapturesetting) | 否   | 拍照设置。 |
J
jiangminyang 已提交
2260

Z
zengyawen 已提交
2261
**返回值:**
J
jiangminyang 已提交
2262

Z
zengyawen 已提交
2263 2264 2265
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
J
jiangminyang 已提交
2266 2267 2268 2269 2270


**示例:**

```js
Z
zengyawen 已提交
2271 2272
photoOutput.capture().then(() => {
    console.log('Promise returned to indicate that photo capture request success.');
J
jiangminyang 已提交
2273 2274 2275
})
```

Z
zengyawen 已提交
2276
### release
J
jiangminyang 已提交
2277

Z
zengyawen 已提交
2278
release(callback: AsyncCallback<void\>): void
J
jiangminyang 已提交
2279

Z
zengyawen 已提交
2280
释放PhotoOutput实例,通过注册回调函数获取结果。
J
jiangminyang 已提交
2281 2282 2283 2284 2285

**系统能力:** SystemCapability.Multimedia.Camera.Core

**参数:**

Z
zengyawen 已提交
2286 2287
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
J
jiangminyang 已提交
2288 2289 2290 2291 2292
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |

**示例:**

```js
Z
zengyawen 已提交
2293
photoOutput.release((err) => {
N
nikhilraut 已提交
2294
    if (err) {
Z
zengyawen 已提交
2295
        console.error('Failed to release the PhotoOutput instance ${err.message}');
N
nikhilraut 已提交
2296 2297
        return;
    }
Z
zengyawen 已提交
2298
    console.log('Callback invoked to indicate that the PhotoOutput instance is released successfully.');
N
nikhilraut 已提交
2299 2300 2301
});
```

Z
zengyawen 已提交
2302
### release
N
nikhilraut 已提交
2303

Z
zengyawen 已提交
2304
release(): Promise<void\>
N
nikhilraut 已提交
2305

Z
zengyawen 已提交
2306
释放PhotoOutput实例,通过Promise获取结果。
N
nikhilraut 已提交
2307

Z
zengyawen 已提交
2308
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2309 2310 2311

**返回值:**

Z
zengyawen 已提交
2312 2313
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
2314
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
2315 2316 2317 2318


**示例:**

Z
zengyawen 已提交
2319
```js
Z
zengyawen 已提交
2320 2321
photoOutput.release().then(() => {
    console.log('Promise returned to indicate that the PhotoOutput instance is released successfully.');
N
nikhilraut 已提交
2322 2323 2324
})
```

Z
zengyawen 已提交
2325
### on('captureStart')
N
nikhilraut 已提交
2326

Z
zengyawen 已提交
2327
on(type: 'captureStart', callback: AsyncCallback<number\>): void
N
nikhilraut 已提交
2328

Z
zengyawen 已提交
2329
监听拍照启动,通过注册回调函数获取Capture ID。
N
nikhilraut 已提交
2330

Z
zengyawen 已提交
2331
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2332 2333 2334

**参数:**

Z
zengyawen 已提交
2335 2336 2337 2338
| 名称     | 类型                   | 必填 | 说明                                             |
| :------- | :--------------------- | :--- | :----------------------------------------------- |
| type     | string                 | 是   | 监听事件,固定为'captureStart',即拍照启动事件。 |
| callback | AsyncCallback<number\> | 是   | 使用callback的方式获取Capture ID。               |
N
nikhilraut 已提交
2339 2340 2341

**示例:**

Z
zengyawen 已提交
2342
```js
Z
zengyawen 已提交
2343 2344
photoOutput.on('captureStart', (err, captureId) => {
    console.log('photo capture stated, captureId : ' + captureId);
N
nikhilraut 已提交
2345
})
Z
zengyawen 已提交
2346
```
N
nikhilraut 已提交
2347

Z
zengyawen 已提交
2348
### on('frameShutter')
N
nikhilraut 已提交
2349

Z
zengyawen 已提交
2350
on(type: 'frameShutter', callback: AsyncCallback<FrameShutterInfo\>): void
N
nikhilraut 已提交
2351

Z
zengyawen 已提交
2352
监听快门,通过注册回调函数获取结果。
N
nikhilraut 已提交
2353

Z
zengyawen 已提交
2354
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2355 2356 2357

**参数:**

Z
zengyawen 已提交
2358 2359 2360 2361
| 名称     | 类型                                                  | 必填 | 说明                                           |
| :------- | :---------------------------------------------------- | :--- | :--------------------------------------------- |
| type     | string                                                | 是   | 监听事件,固定为'frameShutter',即帧刷新事件。 |
| callback | AsyncCallback<[FrameShutterInfo](#frameshutterinfo)\> | 是   | 回调函数,用于获取相关信息。                   |
N
nikhilraut 已提交
2362 2363 2364

**示例:**

Z
zengyawen 已提交
2365
```js
Z
zengyawen 已提交
2366 2367 2368
photoOutput.on('frameShutter', (err, frameShutterInfo) => {
    console.log('photo capture end, captureId : ' + frameShutterInfo.captureId);
    console.log('Timestamp for frame : ' + frameShutterInfo.timestamp);
N
nikhilraut 已提交
2369 2370 2371
})
```

Z
zengyawen 已提交
2372
### on('captureEnd')
N
nikhilraut 已提交
2373

Z
zengyawen 已提交
2374
on(type: 'captureEnd', callback: AsyncCallback<CaptureEndInfo\>): void
N
nikhilraut 已提交
2375

Z
zengyawen 已提交
2376
监听拍照停止,通过注册回调函数获取结果。
N
nikhilraut 已提交
2377

Z
zengyawen 已提交
2378
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2379 2380 2381

**参数:**

Z
zengyawen 已提交
2382 2383 2384 2385
| 名称     | 类型                                              | 必填 | 说明                                           |
| :------- | :------------------------------------------------ | :--- | :--------------------------------------------- |
| type     | string                                            | 是   | 监听事件,固定为'captureEnd',即拍照停止事件。 |
| callback | AsyncCallback<[CaptureEndInfo](#captureendinfo)\> | 是   | 回调函数,用于获取相关信息。                   |
N
nikhilraut 已提交
2386 2387 2388

**示例:**

Z
zengyawen 已提交
2389
```js
Z
zengyawen 已提交
2390 2391 2392
photoOutput.on('captureEnd', (err, captureEndInfo) => {
    console.log('photo capture end, captureId : ' + captureEndInfo.captureId);
    console.log('frameCount : ' + captureEndInfo.frameCount);
N
nikhilraut 已提交
2393 2394 2395
})
```

J
jiangminyang 已提交
2396
### on('error')
N
nikhilraut 已提交
2397

Z
zengyawen 已提交
2398
on(type: 'error', callback: ErrorCallback<PhotoOutputError\>): void
N
nikhilraut 已提交
2399

Z
zengyawen 已提交
2400
监听拍照的错误事件,通过注册回调函数获取结果。
N
nikhilraut 已提交
2401

Z
zengyawen 已提交
2402
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2403 2404 2405

**参数:**

Z
zengyawen 已提交
2406 2407 2408 2409
| 名称     | 类型                                                  | 必填 | 说明                                      |
| :------- | :---------------------------------------------------- | :--- | :---------------------------------------- |
| type     | string                                                | 是   | 监听事件,固定为'error',即拍照错误事件。 |
| callback | ErrorCallback<[PhotoOutputError](#photooutputerror)\> | 是   | 回调函数,用于获取错误信息。              |
N
nikhilraut 已提交
2410 2411 2412

**示例:**

Z
zengyawen 已提交
2413
```js
Z
zengyawen 已提交
2414 2415
photoOutput.on('error', (err, photoOutputError) => {
    console.log('Photo output error code: ' + photoOutputError.code);
N
nikhilraut 已提交
2416 2417 2418
})
```

Z
zengyawen 已提交
2419
## FrameShutterInfo
N
nikhilraut 已提交
2420

Z
zengyawen 已提交
2421
快门事件信息。
N
nikhilraut 已提交
2422

Z
zengyawen 已提交
2423
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2424

Z
zengyawen 已提交
2425 2426 2427 2428
| 名称      | 类型   | 必填 | 说明                          |
| --------- | ------ | ---- | ----------------------------- |
| captureId | number | 是   | CaptureId,本次拍摄动作的ID。 |
| timestamp | number | 是   | 时间戳。                      |
N
nikhilraut 已提交
2429

Z
zengyawen 已提交
2430
## CaptureEndInfo
Z
zengyawen 已提交
2431

Z
zengyawen 已提交
2432
拍照停止信息。
Z
zengyawen 已提交
2433 2434 2435

**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
2436 2437 2438 2439
| 名称       | 类型   | 必填 | 说明                          |
| ---------- | ------ | ---- | ----------------------------- |
| captureId  | number | 是   | CaptureId,本次拍摄动作的ID。 |
| frameCount | number | 是   | 帧计数。                      |
Z
zengyawen 已提交
2440

Z
zengyawen 已提交
2441
## PhotoOutputErrorCode
Z
zengyawen 已提交
2442

Z
zengyawen 已提交
2443
枚举,拍照输出的错误码。
Z
zengyawen 已提交
2444 2445 2446

**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
2447 2448 2449
| 名称          | 值   | 说明       |
| ------------- | ---- | ---------- |
| ERROR_UNKNOWN | -1   | 未知错误。 |
Z
zengyawen 已提交
2450

Z
zengyawen 已提交
2451
##  PhotoOutputError
Z
zengyawen 已提交
2452

Z
zengyawen 已提交
2453
拍照输出错误对象。
Z
zengyawen 已提交
2454 2455 2456

**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
2457 2458 2459
| 名称 | 类型                                  | 说明                    |
| ---- | ------------------------------------- | ----------------------- |
| code | [PhotoOutputError](#photooutputerror) | PhotoOutput中的错误码。 |
Z
zengyawen 已提交
2460

Z
zengyawen 已提交
2461
## camera.createVideoOutput
N
nikhilraut 已提交
2462

Z
zengyawen 已提交
2463
createVideoOutput(surfaceId: string, callback: AsyncCallback<VideoOutput\>): void
N
nikhilraut 已提交
2464

Z
zengyawen 已提交
2465
获取VideoOutput实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
2466

Z
zengyawen 已提交
2467
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2468 2469 2470

**参数:**

Z
zengyawen 已提交
2471 2472 2473 2474
| 名称      | 类型                                        | 必填 | 说明                                |
| --------- | ------------------------------------------- | ---- | ----------------------------------- |
| surfaceId | string                                      | 是   | 从VideoRecorder获取的Surface ID。   |
| callback  | AsyncCallback<[VideoOutput](#videooutput)\> | 是   | 回调函数,用于获取VideoOutput实例。 |
N
nikhilraut 已提交
2475 2476 2477

**示例:**

Z
zengyawen 已提交
2478
```js
Z
zengyawen 已提交
2479
camera.createVideoOutput(("surfaceId"), (err, videoOutput) => {
N
nikhilraut 已提交
2480
    if (err) {
Z
zengyawen 已提交
2481
        console.error('Failed to create the VideoOutput instance. ${err.message}');
N
nikhilraut 已提交
2482 2483
        return;
    }
Z
zengyawen 已提交
2484 2485
    console.log('Callback returned with the VideoOutput instance');
});
Z
zengyawen 已提交
2486
```
N
nikhilraut 已提交
2487

Z
zengyawen 已提交
2488
## camera.createVideoOutput
N
nikhilraut 已提交
2489

Z
zengyawen 已提交
2490
createVideoOutput(surfaceId: string): Promise<VideoOutput\>
N
nikhilraut 已提交
2491

Z
zengyawen 已提交
2492
获取VideoOutput实例,通过Promise获取结果。
N
nikhilraut 已提交
2493

Z
zengyawen 已提交
2494
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2495

Z
zengyawen 已提交
2496 2497 2498 2499 2500 2501
**参数:**

| 名称      | 类型   | 必填 | 说明                              |
| --------- | ------ | ---- | --------------------------------- |
| surfaceId | string | 是   | 从VideoRecorder获取的Surface ID。 |

N
nikhilraut 已提交
2502 2503
**返回值:**

Z
zengyawen 已提交
2504 2505 2506
| 类型                                  | 说明                                   |
| ------------------------------------- | -------------------------------------- |
| Promise<[VideoOutput](#videooutput)\> | 使用Promise的方式获取VideoOutput实例。 |
N
nikhilraut 已提交
2507 2508 2509

**示例:**

Z
zengyawen 已提交
2510
```js
Z
zengyawen 已提交
2511 2512 2513
camera.createVideoOutput("surfaceId"
).then((videoOutput) => {
    console.log('Promise returned with the VideoOutput instance');
N
nikhilraut 已提交
2514 2515 2516
})
```

Z
zengyawen 已提交
2517 2518 2519 2520 2521
## VideoOutput

视频输出类。

### start
N
nikhilraut 已提交
2522

Z
zengyawen 已提交
2523
start(callback: AsyncCallback<void\>): void
N
nikhilraut 已提交
2524

Z
zengyawen 已提交
2525
开始拍摄视频,通过注册回调函数获取结果。
N
nikhilraut 已提交
2526

Z
zengyawen 已提交
2527
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2528 2529 2530

**参数:**

Z
zengyawen 已提交
2531 2532 2533
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
2534 2535 2536

**示例:**

Z
zengyawen 已提交
2537
```js
Z
zengyawen 已提交
2538
videoOutput.start((err) => {
N
nikhilraut 已提交
2539
    if (err) {
Z
zengyawen 已提交
2540
        console.error('Failed to start the video output ${err.message}');
N
nikhilraut 已提交
2541 2542
        return;
    }
Z
zengyawen 已提交
2543 2544
    console.log('Callback invoked to indicate the video output start success.');
});
N
nikhilraut 已提交
2545 2546
```

Z
zengyawen 已提交
2547
### start
N
nikhilraut 已提交
2548

Z
zengyawen 已提交
2549
start(): Promise<void\>
N
nikhilraut 已提交
2550

Z
zengyawen 已提交
2551
开始拍摄视频,通过Promise获取结果。
N
nikhilraut 已提交
2552

Z
zengyawen 已提交
2553
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2554 2555 2556

**返回值:**

Z
zengyawen 已提交
2557 2558 2559 2560
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |

N
nikhilraut 已提交
2561 2562 2563

**示例:**

Z
zengyawen 已提交
2564
```js
Z
zengyawen 已提交
2565 2566
videoOutput.start().then(() => {
    console.log('Promise returned to indicate that start method execution success.');
N
nikhilraut 已提交
2567 2568 2569
})
```

Z
zengyawen 已提交
2570
### stop
N
nikhilraut 已提交
2571

Z
zengyawen 已提交
2572
stop(callback: AsyncCallback<void\>): void
N
nikhilraut 已提交
2573

Z
zengyawen 已提交
2574
停止拍摄视频,通过注册回调函数获取结果。
N
nikhilraut 已提交
2575

Z
zengyawen 已提交
2576
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2577 2578 2579

**参数:**

Z
zengyawen 已提交
2580 2581 2582
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
2583 2584 2585

**示例:**

Z
zengyawen 已提交
2586
```js
Z
zengyawen 已提交
2587
videoOutput.stop((err) => {
N
nikhilraut 已提交
2588
    if (err) {
Z
zengyawen 已提交
2589
        console.error('Failed to stop the video output ${err.message}');
N
nikhilraut 已提交
2590 2591
        return;
    }
Z
zengyawen 已提交
2592 2593
    console.log('Callback invoked to indicate the video output stop success.');
});
N
nikhilraut 已提交
2594 2595
```

Z
zengyawen 已提交
2596
### stop
N
nikhilraut 已提交
2597

Z
zengyawen 已提交
2598
stop(): Promise<void\>
N
nikhilraut 已提交
2599

Z
zengyawen 已提交
2600
停止拍摄视频,通过Promise获取结果。
N
nikhilraut 已提交
2601

Z
zengyawen 已提交
2602
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2603 2604 2605

**返回值:**

Z
zengyawen 已提交
2606 2607 2608
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
2609 2610 2611

**示例:**

Z
zengyawen 已提交
2612
```js
Z
zengyawen 已提交
2613 2614
videoOutput.start().then(() => {
    console.log('Promise returned to indicate that stop method execution success.');
N
nikhilraut 已提交
2615 2616 2617
})
```

Z
zengyawen 已提交
2618
### release
J
jiangminyang 已提交
2619

Z
zengyawen 已提交
2620
release(callback: AsyncCallback<void\>): void
J
jiangminyang 已提交
2621

Z
zengyawen 已提交
2622
释放VideoOutput实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
2623

Z
zengyawen 已提交
2624
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2625 2626

**参数:**
Z
zengyawen 已提交
2627

Z
zengyawen 已提交
2628 2629 2630
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
2631 2632 2633

**示例:**

Z
zengyawen 已提交
2634
```js
Z
zengyawen 已提交
2635
videoOutput.release((err) => {
N
nikhilraut 已提交
2636
    if (err) {
Z
zengyawen 已提交
2637
        console.error('Failed to release the VideoOutput instance ${err.message}');
N
nikhilraut 已提交
2638 2639
        return;
    }
Z
zengyawen 已提交
2640 2641
    console.log('Callback invoked to indicate that the VideoOutput instance is released successfully.');
});
N
nikhilraut 已提交
2642 2643
```

Z
zengyawen 已提交
2644
### release
N
nikhilraut 已提交
2645

Z
zengyawen 已提交
2646
release(): Promise<void\>
N
nikhilraut 已提交
2647

Z
zengyawen 已提交
2648
释放VideoOutput实例,通过Promise获取结果。
N
nikhilraut 已提交
2649

Z
zengyawen 已提交
2650
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2651 2652 2653

**返回值:**

Z
zengyawen 已提交
2654 2655 2656
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
2657 2658 2659 2660


**示例:**

Z
zengyawen 已提交
2661
```js
Z
zengyawen 已提交
2662 2663
videoOutput.release().then(() => {
    console.log('Promise returned to indicate that the VideoOutput instance is released successfully.');
N
nikhilraut 已提交
2664 2665 2666
})
```

Z
zengyawen 已提交
2667
### on('frameStart')
N
nikhilraut 已提交
2668

Z
zengyawen 已提交
2669
on(type: 'frameStart', callback: AsyncCallback<void\>): void
N
nikhilraut 已提交
2670

Z
zengyawen 已提交
2671
监听视频帧开启,通过注册回调函数获取结果。
J
jiangminyang 已提交
2672 2673 2674

**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
2675
**参数:**
J
jiangminyang 已提交
2676

Z
zengyawen 已提交
2677 2678 2679 2680
| 名称     | 类型                 | 必填 | 说明                                             |
| :------- | :------------------- | :--- | :----------------------------------------------- |
| type     | string               | 是   | 监听事件,固定为'frameStart',即视频帧开启事件。 |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。                         |
J
jiangminyang 已提交
2681 2682 2683 2684

**示例:**

```js
Z
zengyawen 已提交
2685 2686
videoOutput.on('frameStart', () => {
    console.log('Video frame started');
J
jiangminyang 已提交
2687 2688 2689
})
```

Z
zengyawen 已提交
2690
### on('frameEnd')
J
jiangminyang 已提交
2691

Z
zengyawen 已提交
2692
on(type: 'frameEnd', callback: AsyncCallback<void\>): void
J
jiangminyang 已提交
2693

Z
zengyawen 已提交
2694
监听视频帧结束,通过注册回调函数获取结果。
N
nikhilraut 已提交
2695

Z
zengyawen 已提交
2696
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2697 2698 2699

**参数:**

Z
zengyawen 已提交
2700 2701 2702 2703
| 名称     | 类型                 | 必填 | 说明                                           |
| :------- | :------------------- | :--- | :--------------------------------------------- |
| type     | string               | 是   | 监听事件,固定为'frameEnd',即视频帧结束事件。 |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。                       |
N
nikhilraut 已提交
2704 2705 2706

**示例:**

Z
zengyawen 已提交
2707
```js
Z
zengyawen 已提交
2708 2709
videoOutput.on('frameEnd', () => {
    console.log('Video frame ended');
N
nikhilraut 已提交
2710 2711 2712
})
```

Z
zengyawen 已提交
2713
### on('error')
N
nikhilraut 已提交
2714

Z
zengyawen 已提交
2715
on(type: 'error', callback: ErrorCallback<VideoOutputError\>): void
N
nikhilraut 已提交
2716

Z
zengyawen 已提交
2717
监听视频输出的错误事件,通过注册回调函数获取结果。
N
nikhilraut 已提交
2718

Z
zengyawen 已提交
2719
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2720 2721 2722

**参数:**

Z
zengyawen 已提交
2723 2724 2725 2726
| 名称     | 类型                                             | 必填 | 说明                                          |
| :------- | :----------------------------------------------- | :--- | :-------------------------------------------- |
| type     | string                                           | 是   | 监听事件,固定为'error',即视频输出错误事件。 |
| callback | Callback<[VideoOutputError](#videooutputerror)\> | 是   | 回调函数,用于获取错误信息。                  |
N
nikhilraut 已提交
2727 2728 2729

**示例:**

Z
zengyawen 已提交
2730
```js
Z
zengyawen 已提交
2731 2732
videoOutput.on('error', (VideoOutputError) => {
    console.log('Video output error code: ' + VideoOutputError.code);
N
nikhilraut 已提交
2733
})
Z
zengyawen 已提交
2734 2735
```

Z
zengyawen 已提交
2736
## VideoOutputErrorCode
Z
zengyawen 已提交
2737

Z
zengyawen 已提交
2738
枚举,视频输出的错误码。
Z
zengyawen 已提交
2739 2740 2741

**系统能力:** SystemCapability.Multimedia.Camera.Core

Z
zengyawen 已提交
2742 2743 2744
| 名称          | 值   | 说明       |
| ------------- | ---- | ---------- |
| ERROR_UNKNOWN | -1   | 未知错误。 |
Z
zengyawen 已提交
2745

Z
zengyawen 已提交
2746
##  VideoOutputError
Z
zengyawen 已提交
2747

Z
zengyawen 已提交
2748
视频输出错误对象。
Z
zengyawen 已提交
2749 2750 2751 2752 2753

**系统能力:** SystemCapability.Multimedia.Camera.Core

| 名称 | 类型                                  | 说明                    |
| ---- | ------------------------------------- | ----------------------- |
Z
zengyawen 已提交
2754
| code | [PhotoOutputError](#photooutputerror) | VideoOutput中的错误码。 |