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

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

N
nikhilraut 已提交
6 7 8 9 10 11 12 13 14 15
## 导入模块

```
import camera from '@ohos.multimedia.camera';
```

## 权限

ohos.permission.CAMERA

Z
zengyawen 已提交
16
## camera.getCameraManager
N
nikhilraut 已提交
17

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

Z
zengyawen 已提交
20
获取相机管理器实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
21

Z
zengyawen 已提交
22
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
23 24 25

**参数:**

Z
zengyawen 已提交
26 27 28 29
| 名称     | 类型                                            | 必填 | 说明                               |
| -------- | ----------------------------------------------- | ---- | ---------------------------------- |
| context  | Context                                         | 是   | 应用上下文。                       |
| callback | AsyncCallback<[CameraManager](#cameramanager)\> | 是   | 回调函数,用于获取相机管理器实例。 |
N
nikhilraut 已提交
30 31 32 33 34 35 36 37 38 39 40 41 42

**示例:**

```
camera.getCameraManager(context, (err, cameraManager) => {
    if (err) {
        console.error('Failed to get the CameraManager instance ${err.message}');
        return;
    }
    console.log('Callback returned with the CameraManager instance');
});
```

Z
zengyawen 已提交
43
## camera.getCameraManager
N
nikhilraut 已提交
44

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

Z
zengyawen 已提交
47
获取相机管理器实例,通过Promise获取结果。
N
nikhilraut 已提交
48

Z
zengyawen 已提交
49
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
50 51 52

**参数:**

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

**返回值:**

Z
zengyawen 已提交
59 60 61
| 类型                                      | 说明                                      |
| ----------------------------------------- | ----------------------------------------- |
| Promise<[CameraManager](#cameramanager)\> | 使用Promise的方式获取一个相机管理器实例。 |
N
nikhilraut 已提交
62 63 64 65 66 67 68 69 70

**示例:**

```
camera.getCameraManager(context).then((cameraManger) => {
    console.log('Promise returned with the CameraManager instance.');
})
```

Z
zengyawen 已提交
71
## CameraStatus
N
nikhilraut 已提交
72

Z
zengyawen 已提交
73
枚举,相机状态。
N
nikhilraut 已提交
74

Z
zengyawen 已提交
75 76 77 78 79 80 81 82
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Camera.Core。

| 名称                      | 默认值 | 说明         |
| ------------------------- | ------ | ------------ |
| CAMERA_STATUS_APPEAR      | 0      | 相机存在。   |
| CAMERA_STATUS_DISAPPEAR   | 1      | 相机不存在。 |
| CAMERA_STATUS_AVAILABLE   | 2      | 相机就绪。   |
| CAMERA_STATUS_UNAVAILABLE | 3      | 相机未就绪。 |
N
nikhilraut 已提交
83 84


Z
zengyawen 已提交
85
## CameraPosition
N
nikhilraut 已提交
86

Z
zengyawen 已提交
87
枚举,相机方向。
N
nikhilraut 已提交
88

Z
zengyawen 已提交
89 90 91 92 93 94 95
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Camera.Core。

| 名称                        | 默认值 | 说明             |
| --------------------------- | ------ | ---------------- |
| CAMERA_POSITION_UNSPECIFIED | 0      | 未指定方向相机。 |
| CAMERA_POSITION_BACK        | 1      | 后置相机。       |
| CAMERA_POSITION_FRONT       | 2      | 前置相机。       |
N
nikhilraut 已提交
96

Z
zengyawen 已提交
97
## CameraType
N
nikhilraut 已提交
98

Z
zengyawen 已提交
99
枚举,相机类型。
N
nikhilraut 已提交
100

Z
zengyawen 已提交
101 102 103 104 105 106 107 108 109
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Camera.Core。

| 名称                    | 默认值 | 说明             |
| ----------------------- | ------ | ---------------- |
| CAMERA_TYPE_UNSPECIFIED | 0      | 未指定相机类型。 |
| CAMERA_TYPE_WIDE_ANGLE  | 1      | 广角相机。       |
| CAMERA_TYPE_ULTRA_WIDE  | 2      | 超级广角相机。   |
| CAMERA_TYPE_TELEPHOTO   | 3      | 长焦相机。       |
| CAMERA_TYPE_TRUE_DEPTH  | 4      | 深度相机。       |
N
nikhilraut 已提交
110 111


Z
zengyawen 已提交
112
## ConnectionType
N
nikhilraut 已提交
113

Z
zengyawen 已提交
114
枚举,相机连接类型。
N
nikhilraut 已提交
115

Z
zengyawen 已提交
116
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Camera.Core。
N
nikhilraut 已提交
117

Z
zengyawen 已提交
118 119 120 121 122
| 名称                         | 默认值 | 说明          |
| ---------------------------- | ------ | ------------- |
| CAMERA_CONNECTION_BUILT_IN   | 0      | 内置相机。    |
| CAMERA_CONNECTION_USB_PLUGIN | 1      | 外置USB相机。 |
| CAMERA_CONNECTION_REMOTE     | 2      | 分布式相机。  |
N
nikhilraut 已提交
123 124


Z
zengyawen 已提交
125
## CameraManager
N
nikhilraut 已提交
126

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

Z
zengyawen 已提交
129
### getCameras
N
nikhilraut 已提交
130

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

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

Z
zengyawen 已提交
135
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
136 137 138

**参数:**

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

**示例:**

```
cameraManager.getCameras((err, cameras) => {
    if (err) {
        console.error('Failed to get the cameras. ${err.message}');
        return;
    }
    console.log('Callback returned with an array of supported cameras: ' + cameras.length);
})
```

Z
zengyawen 已提交
155
### getCameras
N
nikhilraut 已提交
156

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

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

Z
zengyawen 已提交
161
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
162 163 164

**返回值:**

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


**示例:**

```
cameraManager.getCameras().then((cameraArray) => {
    console.log('Promise returned with an array of supported cameras: ' + cameraArray.length);
})
```

Z
zengyawen 已提交
178
### createCameraInput
N
nikhilraut 已提交
179

Z
zengyawen 已提交
180
createCameraInput(cameraId: string, callback: AsyncCallback<CameraInput\>): void
N
nikhilraut 已提交
181

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

Z
zengyawen 已提交
184
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
185 186 187

**参数:**

Z
zengyawen 已提交
188 189 190 191
| 名称     | 默认值                                      | 必填 | 说明                                |
| -------- | ------------------------------------------- | ---- | ----------------------------------- |
| cameraId | string                                      | 是   | 指定相机ID。                        |
| callback | AsyncCallback<[CameraInput](#camerainput)\> | 是   | 回调函数,用于获取CameraInput实例。 |
N
nikhilraut 已提交
192 193 194 195 196 197 198 199 200 201 202 203 204

**示例:**

```
cameraManager.createCameraInput(cameraId, (err, cameraInput) => {
    if (err) {
        console.error('Failed to create the CameraInput instance. ${err.message}');
        return;
    }
    console.log('Callback returned with the CameraInput instance.');
})
```

Z
zengyawen 已提交
205
### createCameraInput
N
nikhilraut 已提交
206

Z
zengyawen 已提交
207
createCameraInput(cameraId: string): Promise<CameraInput\>
N
nikhilraut 已提交
208

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

Z
zengyawen 已提交
211
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
212 213 214

**参数:**

Z
zengyawen 已提交
215 216 217
| 名称     | 默认值 | 必填 | 说明         |
| -------- | ------ | ---- | ------------ |
| cameraId | string | 是   | 指定相机ID。 |
N
nikhilraut 已提交
218 219 220

**返回值:**

Z
zengyawen 已提交
221 222 223
| 类型                                  | 说明                                     |
| ------------------------------------- | ---------------------------------------- |
| Promise<[CameraInput](#camerainput)\> | 使用Promise的方式获取CameraInput的实例。 |
N
nikhilraut 已提交
224 225 226 227 228 229 230 231 232

**示例:**

```
cameraManager.createCameraInput(cameraId).then((cameraInput) => {
    console.log('Promise returned with the CameraInput instance');
})
```

Z
zengyawen 已提交
233
### createCameraInput
N
nikhilraut 已提交
234

Z
zengyawen 已提交
235
createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback<CameraInput\>): void
N
nikhilraut 已提交
236

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

Z
zengyawen 已提交
239
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
240 241 242

**参数:**

Z
zengyawen 已提交
243 244 245 246 247
| 名称     | 类型                                        | 必填 | 说明                                |
| -------- | ------------------------------------------- | ---- | ----------------------------------- |
| position | [CameraPosition](#cameraposition)           | 是   | 相机位置。                          |
| type     | [CameraType](#cameratype)                   | 是   | 相机类型。                          |
| callback | AsyncCallback<[CameraInput](#camerainput)\> | 是   | 回调函数,用于获取CameraInput实例。 |
N
nikhilraut 已提交
248

Z
zengyawen 已提交
249
**示例:**
N
nikhilraut 已提交
250 251 252 253 254 255 256 257 258 259 260

```
cameraManager.createCameraInput(cameraPosition, cameraType, (err, cameraInput) => {
    if (err) {
        console.error('Failed to create the CameraInput instance. ${err.message}');
        return;
    }
    console.log('Callback returned with the CameraInput instance');
})
```

Z
zengyawen 已提交
261
### createCameraInput
N
nikhilraut 已提交
262

Z
zengyawen 已提交
263
createCameraInput(position: CameraPosition, type: CameraType): Promise<CameraInput\>
N
nikhilraut 已提交
264

Z
zengyawen 已提交
265
使用相机位置和相机类型异步创建CameraInput实例,通过Promise获取结果。
N
nikhilraut 已提交
266

Z
zengyawen 已提交
267
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
268 269 270

**参数:**

Z
zengyawen 已提交
271 272 273 274
| 名称     | 类型                              | 必填 | 说明       |
| -------- | --------------------------------- | ---- | ---------- |
| position | [CameraPosition](#cameraposition) | 是   | 相机位置。 |
| type     | [CameraType](#cameratype)         | 是   | 相机类型。 |
N
nikhilraut 已提交
275 276 277

**返回值:**

Z
zengyawen 已提交
278 279
| 类型                                  | 说明                                     |
| ------------------------------------- | ---------------------------------------- |
Z
zengyawen 已提交
280
| Promise<[CameraInput](#camerainput)\> | 使用Promise的方式获取CameraInput的实例。 |
N
nikhilraut 已提交
281 282 283 284 285 286 287 288 289

**示例:**

```
cameraManager.createCameraInput(cameraPosition, cameraType).then((cameraInput) => {
    console.log('Promise returned with the CameraInput instance.');
})
```

Z
zengyawen 已提交
290
### on('cameraStatus')
N
nikhilraut 已提交
291

Z
zengyawen 已提交
292
on(type: 'cameraStatus', callback: AsyncCallback<CameraStatusInfo\>): void
N
nikhilraut 已提交
293

Z
zengyawen 已提交
294
监听相机的状态变化,通过注册回调函数获取相机的状态变化。
N
nikhilraut 已提交
295

Z
zengyawen 已提交
296
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
297 298 299

**参数:**

Z
zengyawen 已提交
300 301 302 303
| 名称     | 类型                                                  | 必填 | 说明                                                 |
| :------- | :---------------------------------------------------- | :--- | :--------------------------------------------------- |
| type     | string                                                | 是   | 监听事件,固定为'cameraStatus',即相机状态变化事件。 |
| callback | AsyncCallback<[CameraStatusInfo](#camerastatusinfo)\> | 是   | 回调函数,用于获取相机状态变化信息。                 |
N
nikhilraut 已提交
304 305 306 307 308 309 310 311 312 313

**示例:**

```
cameraManager.on('cameraStatus', (cameraStatusInfo) => {
    console.log('camera : ' + cameraStatusInfo.camera.cameraId);
    console.log('status: ' + cameraStatusInfo.status);
})
```

Z
zengyawen 已提交
314
## Camera
N
nikhilraut 已提交
315

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

Z
zengyawen 已提交
318 319 320 321 322 323 324 325
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Camera.Core。

| 名称           | 类型                              | 只读 | 说明           |
| -------------- | --------------------------------- | ---- | -------------- |
| cameraId       | string                            | 是   | 相机ID。       |
| cameraPosition | [CameraPosition](#cameraposition) | 是   | 相机位置。     |
| cameraType     | [CameraType](#cameratype)         | 是   | 相机类型。     |
| connectionType | [ConnectionType](#connectiontype) | 是   | 相机连接类型。 |
Z
zengyawen 已提交
326 327

**示例:**
N
nikhilraut 已提交
328 329

```
Z
zengyawen 已提交
330 331 332 333 334 335 336 337 338
async function getCameraInfo() {
    var cameraManager = await camera.getCameraManager();
    var cameras = await cameraManager.getCameras();
    var cameraObj = cameras[0];
    var cameraId = cameraObj.cameraId;
    var cameraPosition = cameraObj.cameraPosition;
    var cameraType = cameraObj.cameraType;
    var cameraId = cameraObj.connectionType;
}
N
nikhilraut 已提交
339 340 341

```

Z
zengyawen 已提交
342
## CameraStatusInfo
N
nikhilraut 已提交
343

Z
zengyawen 已提交
344
相机管理器回调返回的接口实例,表示相机状态信息。
N
nikhilraut 已提交
345

Z
zengyawen 已提交
346 347 348 349 350 351
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Camera.Core。

| 名称   | 类型                          | 说明       |
| ------ | ----------------------------- | ---------- |
| camera | [Camera](#camera)             | 相机信息。 |
| status | [CameraStatus](#camerastatus) | 相机状态。 |
N
nikhilraut 已提交
352 353


Z
zengyawen 已提交
354
## CameraInput
N
nikhilraut 已提交
355

Z
zengyawen 已提交
356
相机输入类。在使用该类的方法前,需要先构建一个CameraInput实例。
N
nikhilraut 已提交
357

Z
zengyawen 已提交
358
### getCameraId
N
nikhilraut 已提交
359

Z
zengyawen 已提交
360
getCameraId(callback: AsyncCallback<string\>\): void
N
nikhilraut 已提交
361

Z
zengyawen 已提交
362
异步获取该CameraInput实例的相机ID,通过注册回调函数获取结果。
N
nikhilraut 已提交
363

Z
zengyawen 已提交
364
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
365 366 367

**参数:**

Z
zengyawen 已提交
368 369 370
| 名称     | 类型                   | 必填 | 说明                       |
| -------- | ---------------------- | ---- | -------------------------- |
| callback | AsyncCallback<string\> | 是   | 回调函数,用于获取相机ID。 |
N
nikhilraut 已提交
371

Z
zengyawen 已提交
372
**示例:**
N
nikhilraut 已提交
373 374 375 376 377 378 379 380 381 382 383

```
cameraInput.getCameraId((err, cameraId) => {
    if (err) {
        console.error('Failed to get the camera ID. ${err.message}');
        return;
    }
    console.log('Callback returned with the camera ID: ' + cameraId);
})
```

Z
zengyawen 已提交
384
### getCameraId
N
nikhilraut 已提交
385

Z
zengyawen 已提交
386
getCameraId(): Promise<string\>
N
nikhilraut 已提交
387

Z
zengyawen 已提交
388
异步获取该CameraInput实例的相机ID,通过Promise获取结果。
N
nikhilraut 已提交
389

Z
zengyawen 已提交
390
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
391 392 393

**返回值:**

Z
zengyawen 已提交
394 395 396
| 类型             | 说明                          |
| ---------------- | ----------------------------- |
| Promise<string\> | 使用Promise的方式获取相机ID。 |
N
nikhilraut 已提交
397 398 399 400 401 402 403 404 405 406

**示例:**

```
cameraInput.getCameraId().then((cameraId) => {
    console.log('Promise returned with the camera ID:' + cameraId);
})
```


Z
zengyawen 已提交
407
### hasFlash
N
nikhilraut 已提交
408

Z
zengyawen 已提交
409
hasFlash(callback: AsyncCallback<boolean\>): void
N
nikhilraut 已提交
410

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

Z
zengyawen 已提交
413
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
414 415 416

**参数:**

Z
zengyawen 已提交
417 418 419
| 名称     | 类型                    | 必填 | 说明                                   |
| -------- | ----------------------- | ---- | -------------------------------------- |
| callback | AsyncCallback<boolean\> | 是   | 回调函数,返回true表示设备支持闪光灯。 |
N
nikhilraut 已提交
420 421 422 423 424 425 426 427 428 429 430 431 432

**示例:**

```
cameraInput.hasFlash((err, status) => {
    if (err) {
        console.error('Failed to check whether the device has flash light. ${err.message}');
        return;
    }
    console.log('Callback returned with flash light support status: ' + status);
})
```

Z
zengyawen 已提交
433
### hasFlash
N
nikhilraut 已提交
434

Z
zengyawen 已提交
435
hasFlash(): Promise<boolean\>
N
nikhilraut 已提交
436

Z
zengyawen 已提交
437
判断设备是否支持闪光灯,通过Promise获取结果。
N
nikhilraut 已提交
438

Z
zengyawen 已提交
439
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
440 441 442

**返回值:**

Z
zengyawen 已提交
443 444 445
| 类型              | 说明                                                    |
| ----------------- | ------------------------------------------------------- |
| Promise<boolean\> | 使用Promise的方式获取结果,返回true表示设备支持闪光灯。 |
N
nikhilraut 已提交
446 447 448 449 450 451 452 453 454

**示例:**

```
cameraInput.hasFlash().then((status) => {
    console.log('Promise returned with the flash light support status:' + status);
})
```

Z
zengyawen 已提交
455
### isFlashModeSupported
N
nikhilraut 已提交
456

Z
zengyawen 已提交
457
isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback<boolean\>): void
N
nikhilraut 已提交
458

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

Z
zengyawen 已提交
461
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
462 463 464

**参数:**

Z
zengyawen 已提交
465 466 467 468
| 名称      | 类型                    | 必填 | 说明                                     |
| --------- | ----------------------- | ---- | ---------------------------------------- |
| flashMode | [FlashMode](#flashmode) | 是   | 指定闪光灯模式。                         |
| callback  | AsyncCallback<boolean\> | 是   | 回调函数,返回true表示支持该闪光灯模式。 |
N
nikhilraut 已提交
469 470 471 472 473 474 475 476 477 478 479 480 481

**示例:**

```
cameraInput.isFlashModeSupported(flashMode, (err, status) => {
    if (err) {
        console.error('Failed to check whether the flash mode is supported. ${err.message}');
        return;
    }
    console.log('Callback returned with the flash mode support status: ' + status);
})
```

Z
zengyawen 已提交
482
### isFlashModeSupported
N
nikhilraut 已提交
483

Z
zengyawen 已提交
484
isFlashModeSupported(flashMode: FlashMode): Promise<boolean\>
N
nikhilraut 已提交
485

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

Z
zengyawen 已提交
488
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
489 490 491

**参数:**

Z
zengyawen 已提交
492 493
| 名称      | 类型                    | 必填 | 说明             |
| --------- | ----------------------- | ---- | ---------------- |
Z
zengyawen 已提交
494
| flashMode | [FlashMode](#flashmode) | 是   | 指定闪光灯模式。 |
N
nikhilraut 已提交
495 496 497

**返回值:**

Z
zengyawen 已提交
498 499 500
| 类型              | 说明                                                         |
| ----------------- | ------------------------------------------------------------ |
| Promise<boolean\> | 使用Promise的方式获取结果,返回true表示设备支持该闪光灯模式。 |
N
nikhilraut 已提交
501 502 503 504 505 506 507 508 509

**示例:**

```
cameraInput.isFlashModeSupported(flashMode).then((status) => {
    console.log('Promise returned with flash mode support status.' + status);
})
```

Z
zengyawen 已提交
510
### setFlashMode
N
nikhilraut 已提交
511

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

Z
zengyawen 已提交
514
设置闪光灯模式,通过注册回调函数获取结果。
N
nikhilraut 已提交
515

Z
zengyawen 已提交
516
进行设置之前,需要先检查:
N
nikhilraut 已提交
517

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

Z
zengyawen 已提交
521
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
522 523 524

**参数:**

Z
zengyawen 已提交
525 526
| 名称      | 类型                    | 必填 | 说明                     |
| --------- | ----------------------- | ---- | ------------------------ |
Z
zengyawen 已提交
527
| flashMode | [FlashMode](#flashmode) | 是   | 指定闪光灯模式。         |
Z
zengyawen 已提交
528
| callback  | AsyncCallback<void\>    | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
529 530 531 532 533 534 535 536 537 538 539 540 541

**示例:**

```
cameraInput.setFlashMode(flashMode, (err) => {
    if (err) {
        console.error('Failed to set the flash mode  ${err.message}');
        return;
    }
    console.log('Callback returned with the successful execution of setFlashMode.');
})
```

Z
zengyawen 已提交
542
### setFlashMode
N
nikhilraut 已提交
543

Z
zengyawen 已提交
544
setFlashMode(flashMode: FlashMode): Promise<void\>
N
nikhilraut 已提交
545

Z
zengyawen 已提交
546
设置闪光灯模式,通过Promise获取结果。
N
nikhilraut 已提交
547

Z
zengyawen 已提交
548
进行设置之前,需要先检查:
N
nikhilraut 已提交
549

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

Z
zengyawen 已提交
553
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
554 555 556

**参数:**

Z
zengyawen 已提交
557 558
| 名称      | 类型                    | 必填 | 说明             |
| --------- | ----------------------- | ---- | ---------------- |
Z
zengyawen 已提交
559
| flashMode | [FlashMode](#flashmode) | 是   | 指定闪光灯模式。 |
N
nikhilraut 已提交
560 561 562

**返回值:**

Z
zengyawen 已提交
563 564 565
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
566 567 568 569

**示例:**

```
Z
zengyawen 已提交
570
cameraInput.setFlashMode(flashMode).then(() => {
N
nikhilraut 已提交
571 572 573 574
    console.log('Promise returned with the successful execution of setFlashMode.');
})
```

Z
zengyawen 已提交
575
### getFlashMode
N
nikhilraut 已提交
576

Z
zengyawen 已提交
577
getFlashMode(callback: AsyncCallback<FlashMode\>): void
N
nikhilraut 已提交
578

Z
zengyawen 已提交
579
获取当前设备的闪光灯模式,通过注册回调函数获取结果。
N
nikhilraut 已提交
580

Z
zengyawen 已提交
581
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
582 583 584

**参数:**

Z
zengyawen 已提交
585 586 587
| 名称     | 类型                                    | 必填 | 说明                                     |
| -------- | --------------------------------------- | ---- | ---------------------------------------- |
| callback | AsyncCallback<[FlashMode](#flashmode)\> | 是   | 回调函数,用于获取当前设备的闪光灯模式。 |
N
nikhilraut 已提交
588 589 590 591 592 593 594 595 596 597 598 599 600

**示例:**

```
cameraInput.getFlashMode((err, flashMode) => {
    if (err) {
        console.error('Failed to get the flash mode  ${err.message}');
        return;
    }
    console.log('Callback returned with current flash mode: ' + flashMode);
})
```

Z
zengyawen 已提交
601
### getFlashMode
N
nikhilraut 已提交
602

Z
zengyawen 已提交
603
getFlashMode(): Promise<FlashMode\>
N
nikhilraut 已提交
604

Z
zengyawen 已提交
605
获取当前设备的闪光灯模式,通过Promise获取结果。
N
nikhilraut 已提交
606

Z
zengyawen 已提交
607
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
608 609 610

**返回值:**

Z
zengyawen 已提交
611 612 613
| 类型                              | 说明                                    |
| --------------------------------- | --------------------------------------- |
| Promise<[FlashMode](#flashmode)\> | 使用Promise的方式获取当前的闪光灯模式。 |
N
nikhilraut 已提交
614 615 616 617

**示例:**

```
Z
zengyawen 已提交
618
cameraInput.getFlashMode().then((flashMode) => {
N
nikhilraut 已提交
619 620 621 622
    console.log('Promise returned with current flash mode : ' + flashMode);
})
```

Z
zengyawen 已提交
623
### isFocusModeSupported
N
nikhilraut 已提交
624

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

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

Z
zengyawen 已提交
629
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
630 631 632

**参数:**

Z
zengyawen 已提交
633 634 635 636
| 名称     | 类型                    | 必填 | 说明                                   |
| -------- | ----------------------- | ---- | -------------------------------------- |
| afMode   | [FocusMode](#focusmode) | 是   | 指定的焦距模式。                       |
| callback | AsyncCallback<boolean\> | 是   | 回调函数,返回true表示支持该焦距模式。 |
N
nikhilraut 已提交
637 638 639 640 641 642 643 644 645 646 647 648 649

**示例:**

```
cameraInput.isFocusModeSupported(afMode, (err, status) => {
    if (err) {
        console.error('Failed to check whether the focus mode is supported. ${err.message}');
        return;
    }
    console.log('Callback returned with the focus mode support status: ' + status);
})
```

Z
zengyawen 已提交
650
### isFocusModeSupported
N
nikhilraut 已提交
651

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

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

Z
zengyawen 已提交
656
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
657 658 659

**参数:**

Z
zengyawen 已提交
660 661 662
| 名称   | 类型                    | 必填 | 说明             |
| ------ | ----------------------- | ---- | ---------------- |
| afMode | [FocusMode](#focusmode) | 是   | 指定的焦距模式。 |
N
nikhilraut 已提交
663 664 665

**返回值:**

Z
zengyawen 已提交
666 667 668
| 类型              | 说明                                                        |
| ----------------- | ----------------------------------------------------------- |
| Promise<boolean\> | 使用Promise的方式获取结果,返回true表示设备支持该焦距模式。 |
N
nikhilraut 已提交
669 670 671 672 673 674 675 676 677

**示例:**

```
cameraInput.isFocusModeSupported(afMode).then((status) => {
    console.log('Promise returned with focus mode support status.' + status);
})
```

Z
zengyawen 已提交
678
### setFocusMode
N
nikhilraut 已提交
679

Z
zengyawen 已提交
680
setFocusMode(afMode: FocusMode, callback: AsyncCallback<void\>): void
N
nikhilraut 已提交
681

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

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

Z
zengyawen 已提交
686
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
687 688 689

**参数:**

Z
zengyawen 已提交
690 691 692 693
| 名称     | 类型                    | 必填 | 说明                     |
| -------- | ----------------------- | ---- | ------------------------ |
| afMode   | [FocusMode](#focusmode) | 是   | 指定的焦距模式。         |
| callback | AsyncCallback<void\>    | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
694 695 696 697 698 699 700 701 702 703 704 705 706

**示例:**

```
cameraInput.setFocusMode(afMode, (err) => {
    if (err) {
        console.error('Failed to set the focus mode  ${err.message}');
        return;
    }
    console.log('Callback returned with the successful execution of setFocusMode.');
})
```

Z
zengyawen 已提交
707
### setFocusMode
N
nikhilraut 已提交
708

Z
zengyawen 已提交
709
setFocusMode(afMode: FocusMode): Promise<void\>
N
nikhilraut 已提交
710

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

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

Z
zengyawen 已提交
715
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
716 717 718

**参数:**

Z
zengyawen 已提交
719 720 721
| 名称   | 类型                    | 必填 | 说明             |
| ------ | ----------------------- | ---- | ---------------- |
| afMode | [FocusMode](#focusmode) | 是   | 指定的焦距模式。 |
N
nikhilraut 已提交
722 723 724

**返回值:**

Z
zengyawen 已提交
725 726 727
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
728 729 730 731

**示例:**

```
Z
zengyawen 已提交
732
cameraInput.setFocusMode(afMode).then(() => {
N
nikhilraut 已提交
733 734 735 736
    console.log('Promise returned with the successful execution of setFocusMode.');
})
```

Z
zengyawen 已提交
737
### getFocusMode
N
nikhilraut 已提交
738

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

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

Z
zengyawen 已提交
743
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
744 745 746

**参数:**

Z
zengyawen 已提交
747 748 749
| 名称     | 类型                                    | 必填 | 说明                                   |
| -------- | --------------------------------------- | ---- | -------------------------------------- |
| callback | AsyncCallback<[FocusMode](#focusmode)\> | 是   | 回调函数,用于获取当前设备的焦距模式。 |
N
nikhilraut 已提交
750 751 752 753 754 755 756 757 758 759 760 761 762

**示例:**

```
cameraInput.getFocusMode((err, afMode) => {
    if (err) {
        console.error('Failed to get the focus mode  ${err.message}');
        return;
    }
    console.log('Callback returned with current focus mode: ' + afMode);
})
```

Z
zengyawen 已提交
763
### getFocusMode
N
nikhilraut 已提交
764

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

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

Z
zengyawen 已提交
769
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
770 771 772

**返回值:**

Z
zengyawen 已提交
773 774 775
| 类型                | 说明                                  |
| ------------------- | ------------------------------------- |
| Promise<FocusMode\> | 使用Promise的方式获取当前的焦距模式。 |
N
nikhilraut 已提交
776 777 778 779

**示例:**

```
Z
zengyawen 已提交
780
cameraInput.getFocusMode().then((afMode) => {
N
nikhilraut 已提交
781 782 783 784
    console.log('Promise returned with current focus mode : ' + afMode);
})
```

Z
zengyawen 已提交
785
### getZoomRatioRange
N
nikhilraut 已提交
786

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

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

Z
zengyawen 已提交
791
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
792 793 794

**参数:**

Z
zengyawen 已提交
795 796 797
| 名称     | 类型                           | 必填 | 说明                     |
| -------- | ------------------------------ | ---- | ------------------------ |
| callback | AsyncCallback<Array<number\>\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
798 799 800 801

**示例:**

```
Z
zengyawen 已提交
802
cameraInput.getZoomRatioRange((err, zoomRatioRange) => {
N
nikhilraut 已提交
803 804 805 806 807 808 809 810
    if (err) {
        console.error('Failed to get the zoom ratio range. ${err.message}');
        return;
    }
    console.log('Callback returned with zoom ratio range: ' + zoomRatioRange.length);
})
```

Z
zengyawen 已提交
811
### getZoomRatioRange
N
nikhilraut 已提交
812

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

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

Z
zengyawen 已提交
817
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
818 819 820

**返回值:**

Z
zengyawen 已提交
821 822
| 类型                     | 说明                                        |
| ------------------------ | ------------------------------------------- |
Z
zengyawen 已提交
823
| Promise<Array<number\>\> | 使用Promise的方式获取当前的可变焦距比范围。 |
N
nikhilraut 已提交
824 825 826 827 828 829 830 831 832

**示例:**

```
cameraInput.getZoomRatioRange().then((zoomRatioRange) => {
    console.log('Promise returned with zoom ratio range: ' + zoomRatioRange.length);
})
```

Z
zengyawen 已提交
833
### setZoomRatio
N
nikhilraut 已提交
834

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

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

Z
zengyawen 已提交
839
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
840 841 842

**参数:**

Z
zengyawen 已提交
843 844 845 846
| 名称      | 类型                 | 必填 | 说明                     |
| --------- | -------------------- | ---- | ------------------------ |
| zoomRatio | number               | 是   | 可变焦距比。             |
| callback  | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
847 848 849 850 851 852 853 854 855 856 857 858 859

**示例:**

```
cameraInput.setZoomRatio(zoomRatio, (err) => {
    if (err) {
        console.error('Failed to set the zoom ratio value ${err.message}');
        return;
    }
    console.log('Callback returned with the successful execution of setZoomRatio.');
})
```

Z
zengyawen 已提交
860
### setZoomRatio
N
nikhilraut 已提交
861

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

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

Z
zengyawen 已提交
866
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
867 868 869

**参数:**

Z
zengyawen 已提交
870 871 872
| 名称      | 类型   | 必填 | 说明         |
| --------- | ------ | ---- | ------------ |
| zoomRatio | number | 是   | 可变焦距比。 |
N
nikhilraut 已提交
873 874 875

**返回值:**

Z
zengyawen 已提交
876 877 878
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
879 880 881 882

**示例:**

```
Z
zengyawen 已提交
883
cameraInput.setZoomRatio(zoomRatio).then(() => {
N
nikhilraut 已提交
884 885 886 887
    console.log('Promise returned with the successful execution of setZoomRatio.');
})
```

Z
zengyawen 已提交
888
### getZoomRatio
N
nikhilraut 已提交
889

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

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

Z
zengyawen 已提交
894
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
895 896 897

**参数:**

Z
zengyawen 已提交
898 899 900
| 名称     | 类型                   | 必填 | 说明                     |
| -------- | ---------------------- | ---- | ------------------------ |
| callback | AsyncCallback<number\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
901 902 903 904 905 906 907 908 909 910 911 912 913

**示例:**

```
cameraInput.getZoomRatio((err, zoomRatio) => {
    if (err) {
        console.error('Failed to get the zoom ratio ${err.message}');
        return;
    }
    console.log('Callback returned with current zoom ratio: ' + zoomRatio);
})
```

Z
zengyawen 已提交
914
### getZoomRatio
N
nikhilraut 已提交
915

Z
zengyawen 已提交
916
getZoomRatio(): Promise<number\>
N
nikhilraut 已提交
917

Z
zengyawen 已提交
918
获取当前的可变焦距比,通过Promise获取结果。
N
nikhilraut 已提交
919

Z
zengyawen 已提交
920
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
921 922 923

**返回值:**

Z
zengyawen 已提交
924 925 926
| 类型             | 说明                        |
| ---------------- | --------------------------- |
| Promise<number\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
927 928 929 930

**示例:**

```
Z
zengyawen 已提交
931
cameraInput.getZoomRatio().then((zoomRatio) => {
N
nikhilraut 已提交
932 933 934 935
    console.log('Promise returned with current zoom ratio : ' + zoomRatio);
})
```

Z
zengyawen 已提交
936
### release
N
nikhilraut 已提交
937

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

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

Z
zengyawen 已提交
942
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
943 944 945

**参数:**

Z
zengyawen 已提交
946 947 948
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
949 950 951 952 953 954 955 956 957 958 959 960 961

**示例:**

```
camera.release((err) => {
    if (err) {
        console.error('Failed to release the CameraInput instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the CameraInput instance is released successfully.');
});
```

Z
zengyawen 已提交
962
### release
N
nikhilraut 已提交
963

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

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

Z
zengyawen 已提交
968
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
969 970 971

**返回值:**

Z
zengyawen 已提交
972 973 974
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
975 976 977 978 979 980 981 982 983

**示例:**

```
cameraInput.release().then(() => {
    console.log('Promise returned to indicate that the CameraInput instance is released successfully.');
})
```

Z
zengyawen 已提交
984
### on('focusStateChange')
N
nikhilraut 已提交
985

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

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

Z
zengyawen 已提交
990
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
991 992 993

**参数:**

Z
zengyawen 已提交
994 995 996 997
| 名称     | 类型                                      | 必填 | 说明                                                     |
| :------- | :---------------------------------------- | :--- | :------------------------------------------------------- |
| type     | string                                    | 是   | 监听事件,固定为'focusStateChange',即焦距状态变化事件。 |
| callback | AsyncCallback<[FocusState](#focusstate)\> | 是   | 回调函数,用于获取焦距状态。                             |
N
nikhilraut 已提交
998 999 1000 1001 1002 1003 1004 1005 1006

**示例:**

```
cameraInput.on('focusStateChange', (focusState) => {
    console.log('Focus state  : ' + focusState);
})
```

Z
zengyawen 已提交
1007
### on('error')
N
nikhilraut 已提交
1008

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

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

Z
zengyawen 已提交
1013
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1014 1015 1016

**参数:**

Z
zengyawen 已提交
1017 1018 1019 1020
| 名称     | 类型                             | 必填 | 说明                                            |
| :------- | :------------------------------- | :--- | :---------------------------------------------- |
| type     | string                           | 是   | 监听事件,固定为'error',即CamerInput错误事件。 |
| callback | ErrorCallback<CameraInputError\> | 是   | 回调函数,用于获取结果。                        |
N
nikhilraut 已提交
1021 1022 1023 1024 1025 1026 1027 1028 1029 1030

**示例:**

```
cameraInput.on('error', (cameraInputError) => {
    console.log('Camera input error code: ' + cameraInputError.code);
})
```


Z
zengyawen 已提交
1031
## FlashMode
N
nikhilraut 已提交
1032

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

Z
zengyawen 已提交
1035 1036 1037 1038 1039 1040 1041 1042
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Camera.Core。

| 名称                   | 默认值 | 说明         |
| ---------------------- | ------ | ------------ |
| FLASH_MODE_CLOSE       | 0      | 闪光灯关闭。 |
| FLASH_MODE_OPEN        | 1      | 闪光灯开启。 |
| FLASH_MODE_AUTO        | 2      | 自动闪光灯。 |
| FLASH_MODE_ALWAYS_OPEN | 3      | 闪光灯常亮。 |
N
nikhilraut 已提交
1043

Z
zengyawen 已提交
1044
## FocusMode
N
nikhilraut 已提交
1045

Z
zengyawen 已提交
1046
枚举,焦距模式。
N
nikhilraut 已提交
1047

Z
zengyawen 已提交
1048 1049 1050 1051 1052 1053 1054 1055
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Camera.Core。

| 名称                       | 默认值 | 说明               |
| -------------------------- | ------ | ------------------ |
| FOCUS_MODE_MANUAL          | 0      | 手动变焦模式。     |
| FOCUS_MODE_CONTINUOUS_AUTO | 1      | 连续自动变焦模式。 |
| FOCUS_MODE_AUTO            | 2      | 自动变焦模式。     |
| FOCUS_MODE_LOCKED          | 3      | 定焦模式。         |
Z
zengyawen 已提交
1056 1057

## FocusState
N
nikhilraut 已提交
1058

Z
zengyawen 已提交
1059
枚举,焦距状态。
N
nikhilraut 已提交
1060

Z
zengyawen 已提交
1061 1062 1063 1064 1065 1066 1067
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Camera.Core。

| 名称                  | 默认值 | 说明         |
| --------------------- | ------ | ------------ |
| FOCUS_STATE_SCAN      | 0      | 扫描状态。   |
| FOCUS_STATE_FOCUSED   | 1      | 相机已对焦。 |
| FOCUS_STATE_UNFOCUSED | 2      | 相机未对焦。 |
N
nikhilraut 已提交
1068

Z
zengyawen 已提交
1069
## camera.createCaptureSession
N
nikhilraut 已提交
1070

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

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

Z
zengyawen 已提交
1075
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1076 1077 1078

**参数:**

Z
zengyawen 已提交
1079 1080 1081 1082
| 名称     | 类型                                              | 必填 | 说明                                   |
| -------- | ------------------------------------------------- | ---- | -------------------------------------- |
| context  | Context                                           | 是   | 应用上下文。                           |
| callback | AsyncCallback<[CaptureSession](#capturesession)\> | 是   | 回调函数,用于获取CaptureSession实例。 |
N
nikhilraut 已提交
1083 1084 1085 1086

**示例:**

```
Z
zengyawen 已提交
1087
camera.createCaptureSession((context), (err, captureSession) => {
N
nikhilraut 已提交
1088 1089 1090 1091 1092 1093 1094 1095
    if (err) {
        console.error('Failed to create the CaptureSession instance. ${err.message}');
        return;
    }
    console.log('Callback returned with the CaptureSession instance.' + captureSession);
});
```

Z
zengyawen 已提交
1096
## camera.createCaptureSession
N
nikhilraut 已提交
1097

Z
zengyawen 已提交
1098
createCaptureSession(context: Context\): Promise<CaptureSession\>;
N
nikhilraut 已提交
1099

Z
zengyawen 已提交
1100
获取CaptureSession实例,通过Promise获取结果。
N
nikhilraut 已提交
1101

Z
zengyawen 已提交
1102
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1103 1104 1105

**参数:**

Z
zengyawen 已提交
1106 1107 1108
| 名称    | 类型    | 必填 | 说明         |
| ------- | ------- | ---- | ------------ |
| context | Context | 是   | 应用上下文。 |
N
nikhilraut 已提交
1109 1110 1111

**返回值:**

Z
zengyawen 已提交
1112 1113
| 类型                                        | 说明                                      |
| ------------------------------------------- | ----------------------------------------- |
Z
zengyawen 已提交
1114
| Promise<[CaptureSession](#capturesession)\> | 使用Promise的方式获取CaptureSession实例。 |
N
nikhilraut 已提交
1115 1116 1117 1118 1119 1120 1121 1122 1123

**示例:**

```
camera.createCaptureSession(context).then((captureSession) => {
    console.log('Promise returned with the CaptureSession instance');
})
```

Z
zengyawen 已提交
1124
## CaptureSession
N
nikhilraut 已提交
1125

Z
zengyawen 已提交
1126
拍照会话类。
N
nikhilraut 已提交
1127

Z
zengyawen 已提交
1128
### beginConfig
N
nikhilraut 已提交
1129

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

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

Z
zengyawen 已提交
1134
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1135 1136 1137

**参数:**

Z
zengyawen 已提交
1138 1139 1140
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153

**示例:**

```
captureSession.beginConfig((err) => {
    if (err) {
        console.error('Failed to start the configuration. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the begin config success.');
});
```

Z
zengyawen 已提交
1154
### beginConfig
N
nikhilraut 已提交
1155

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

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

Z
zengyawen 已提交
1160
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1161 1162 1163

**返回值:**

Z
zengyawen 已提交
1164 1165 1166
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1167 1168 1169 1170 1171 1172 1173 1174 1175 1176


**示例:**

```
captureSession.beginConfig().then(() => {
    console.log('Promise returned to indicate the begin config success.');
})
```

Z
zengyawen 已提交
1177
### commitConfig
N
nikhilraut 已提交
1178

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

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

Z
zengyawen 已提交
1183
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1184 1185 1186

**参数:**

Z
zengyawen 已提交
1187 1188 1189
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202

**示例:**

```
captureSession.commitConfig((err) => {
    if (err) {
        console.error('Failed to commit the configuration. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the commit config success.');
});
```

Z
zengyawen 已提交
1203
### commitConfig
N
nikhilraut 已提交
1204

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

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

Z
zengyawen 已提交
1209
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1210 1211 1212

**返回值:**

Z
zengyawen 已提交
1213 1214 1215
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1216 1217 1218 1219 1220 1221 1222 1223 1224

**示例:**

```
captureSession.commitConfig().then(() => {
    console.log('Promise returned to indicate the commit config success.');
})
```

Z
zengyawen 已提交
1225
### addInput
N
nikhilraut 已提交
1226

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

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

Z
zengyawen 已提交
1231
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1232 1233 1234

**参数:**

Z
zengyawen 已提交
1235 1236 1237 1238
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| cameraInput | [CameraInput](#camerainput) | 是   | 需要添加的CameraInput实例。 |
| callback    | AsyncCallback<void\>        | 是   | 回调函数,用于获取结果。    |
N
nikhilraut 已提交
1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251

**示例:**

```
captureSession.addInput(cameraInput, (err) => {
    if (err) {
        console.error('Failed to add the CameraInput instance. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the CameraInput instance is added.');
});
```

Z
zengyawen 已提交
1252
### addInput
N
nikhilraut 已提交
1253

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

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

Z
zengyawen 已提交
1258
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1259 1260 1261

**参数:**

Z
zengyawen 已提交
1262 1263
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
Z
zengyawen 已提交
1264
| cameraInput | [CameraInput](#camerainput) | 是   | 需要添加的CameraInput实例。 |
N
nikhilraut 已提交
1265 1266 1267

**返回值:**

Z
zengyawen 已提交
1268 1269
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1270
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1271 1272 1273 1274 1275 1276 1277 1278 1279

**示例:**

```
captureSession.addInput(cameraInput).then(() => {
    console.log('Promise used to indicate that the CameraInput instance is added.');
})
```

Z
zengyawen 已提交
1280
### addOutput
N
nikhilraut 已提交
1281

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

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

Z
zengyawen 已提交
1286
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1287 1288 1289

**参数:**

Z
zengyawen 已提交
1290 1291 1292 1293
| 名称          | 类型                            | 必填 | 说明                          |
| ------------- | ------------------------------- | ---- | ----------------------------- |
| previewOutput | [PreviewOutput](#previewoutput) | 是   | 需要添加的PreviewOutput实例。 |
| callback      | AsyncCallback<void\>            | 是   | 回调函数,用于获取结果。      |
N
nikhilraut 已提交
1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306

**示例:**

```
captureSession.addOutput(previewOutput, (err) => {
    if (err) {
        console.error('Failed to add the PreviewOutput instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the PreviewOutput instance is added.');
});
```

Z
zengyawen 已提交
1307
### addOutput
N
nikhilraut 已提交
1308

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

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

Z
zengyawen 已提交
1313
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1314 1315 1316

**参数:**

Z
zengyawen 已提交
1317 1318
| 名称          | 类型                            | 必填 | 说明                          |
| ------------- | ------------------------------- | ---- | ----------------------------- |
Z
zengyawen 已提交
1319
| previewOutput | [PreviewOutput](#previewoutput) | 是   | 需要添加的PreviewOutput实例。 |
N
nikhilraut 已提交
1320 1321 1322

**返回值:**

Z
zengyawen 已提交
1323 1324
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1325
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1326 1327 1328 1329 1330 1331 1332 1333 1334

**示例:**

```
captureSession.addOutput(previewOutput).then(() => {
    console.log('Promise used to indicate that the PreviewOutput instance is added.');
})
```

Z
zengyawen 已提交
1335
### addOutput
N
nikhilraut 已提交
1336

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

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

Z
zengyawen 已提交
1341
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1342 1343 1344

**参数:**

Z
zengyawen 已提交
1345 1346 1347 1348
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| photoOutput | [PhotoOutput](#photooutput) | 是   | 需要添加的PhotoOutput实例。 |
| callback    | AsyncCallback<void\>        | 是   | 回调函数,用于获取结果。    |
N
nikhilraut 已提交
1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361

**示例:**

```
captureSession.addOutput(photoOutput, (err) => {
    if (err) {
        console.error('Failed to add the PhotoOutput instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the PhotoOutput instance is added.');
});
```

Z
zengyawen 已提交
1362
### addOutput
N
nikhilraut 已提交
1363

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

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

Z
zengyawen 已提交
1368
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1369 1370 1371

**参数:**

Z
zengyawen 已提交
1372 1373 1374
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| photoOutput | [PhotoOutput](#photooutput) | 是   | 需要添加的PhotoOutput实例。 |
N
nikhilraut 已提交
1375 1376 1377

**返回值:**

Z
zengyawen 已提交
1378 1379
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1380
| Promise\<void> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1381 1382 1383 1384 1385 1386 1387 1388 1389

**示例:**

```
captureSession.addOutput(photoOutput).then(() => {
    console.log('Promise used to indicate that the PhotoOutput instance is added.');
})
```

Z
zengyawen 已提交
1390
### addOutput
N
nikhilraut 已提交
1391

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

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

Z
zengyawen 已提交
1396
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1397 1398 1399

**参数:**

Z
zengyawen 已提交
1400 1401 1402
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| videoOutput | [VideoOutput](#videooutput) | 是   | 需要添加的VideoOutput实例。 |
Z
zengyawen 已提交
1403
| callback    | AsyncCallback<void\>        | 是   | 回调函数,用于获取结果。    |
N
nikhilraut 已提交
1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416

**示例:**

```
captureSession.addOutput(videoOutput, (err) => {
    if (err) {
        console.error('Failed to add the VideoOutput instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the VideoOutput instance is added.');
});
```

Z
zengyawen 已提交
1417
### addOutput
N
nikhilraut 已提交
1418

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

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

Z
zengyawen 已提交
1423
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1424 1425 1426

**参数:**

Z
zengyawen 已提交
1427 1428 1429
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| videoOutput | [VideoOutput](#videooutput) | 是   | 需要添加的VideoOutput实例。 |
N
nikhilraut 已提交
1430 1431 1432

**返回值:**

Z
zengyawen 已提交
1433 1434 1435
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise\<void> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1436 1437 1438 1439 1440 1441 1442 1443 1444

**示例:**

```
captureSession.addOutput(videoOutput).then(() => {
    console.log('Promise used to indicate that the VideoOutput instance is added.');
})
```

Z
zengyawen 已提交
1445
### removeInput
N
nikhilraut 已提交
1446

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

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

Z
zengyawen 已提交
1451
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1452 1453 1454

**参数:**

Z
zengyawen 已提交
1455 1456
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
Z
zengyawen 已提交
1457
| cameraInput | [CameraInput](#camerainput) | 是   | 需要移除的CameraInput实例。 |
Z
zengyawen 已提交
1458
| callback    | AsyncCallback<void\>        | 是   | 回调函数,用于获取结果。    |
N
nikhilraut 已提交
1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471

**示例:**

```
captureSession.removeInput(cameraInput, (err) => {
    if (err) {
        console.error('Failed to remove the CameraInput instance. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the cameraInput instance is removed.');
});
```

Z
zengyawen 已提交
1472
### removeInput
N
nikhilraut 已提交
1473

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

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

Z
zengyawen 已提交
1478
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1479 1480 1481

**参数:**

Z
zengyawen 已提交
1482 1483
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
Z
zengyawen 已提交
1484
| cameraInput | [CameraInput](#camerainput) | 是   | 需要移除的CameraInput实例。 |
N
nikhilraut 已提交
1485 1486 1487

**返回值:**

Z
zengyawen 已提交
1488 1489
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1490
| Promise\<void> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1491 1492 1493 1494 1495 1496 1497 1498 1499

**示例:**

```
captureSession.removeInput(cameraInput).then(() => {
    console.log('Promise returned to indicate that the cameraInput instance is removed.');
})
```

Z
zengyawen 已提交
1500
### removeOutput
N
nikhilraut 已提交
1501

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

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

Z
zengyawen 已提交
1506
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1507 1508 1509

**参数:**

Z
zengyawen 已提交
1510 1511 1512 1513
| 名称          | 类型                            | 必填 | 说明                          |
| ------------- | ------------------------------- | ---- | ----------------------------- |
| previewOutput | [PreviewOutput](#previewoutput) | 是   | 需要移除的PreviewOutput实例。 |
| callback      | AsyncCallback<void\>            | 是   | 回调函数,用于获取结果。      |
N
nikhilraut 已提交
1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526

**示例:**

```
captureSession.removeOutput(previewOutput, (err) => {
    if (err) {
        console.error('Failed to remove the PreviewOutput instance. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the PreviewOutput instance is removed.');
});
```

Z
zengyawen 已提交
1527
### removeOutput
N
nikhilraut 已提交
1528

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

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

Z
zengyawen 已提交
1533
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1534 1535 1536

**参数:**

Z
zengyawen 已提交
1537 1538
| 名称          | 类型                            | 必填 | 说明                          |
| ------------- | ------------------------------- | ---- | ----------------------------- |
Z
zengyawen 已提交
1539
| previewOutput | [PreviewOutput](#previewoutput) | 是   | 需要移除的PreviewOutput实例。 |
N
nikhilraut 已提交
1540 1541 1542 1543


**返回值:**

Z
zengyawen 已提交
1544 1545
| 类型           | 说明                        |
| -------------- | --------------------------- |
Z
zengyawen 已提交
1546
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1547 1548 1549 1550 1551 1552 1553 1554 1555 1556


**示例:**

```
captureSession.removeOutput(previewOutput).then(() => {
    console.log('Promise returned to indicate that the PreviewOutput instance is removed.');
})
```

Z
zengyawen 已提交
1557
### removeOutput
N
nikhilraut 已提交
1558

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

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

Z
zengyawen 已提交
1563
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1564 1565 1566

**参数:**

Z
zengyawen 已提交
1567 1568 1569 1570
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| photoOutput | [PhotoOutput](#photooutput) | 是   | 需要添加的PhotoOutput实例。 |
| callback    | AsyncCallback<void\>        | 是   | 回调函数,用于获取结果。    |
N
nikhilraut 已提交
1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583

**示例:**

```
captureSession.removeOutput(photoOutput, (err) => {
    if (err) {
        console.error('Failed to remove the PhotoOutput instance. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the PhotoOutput instance is removed.');
});
```

Z
zengyawen 已提交
1584
### removeOutput
N
nikhilraut 已提交
1585

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

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

Z
zengyawen 已提交
1590
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1591 1592 1593

**参数:**

Z
zengyawen 已提交
1594 1595 1596
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| photoOutput | [PhotoOutput](#photooutput) | 是   | 需要添加的PhotoOutput实例。 |
N
nikhilraut 已提交
1597 1598 1599 1600


**返回值:**

Z
zengyawen 已提交
1601 1602 1603
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1604 1605 1606 1607 1608 1609 1610 1611 1612 1613


**示例:**

```
captureSession.removeOutput(photoOutput).then(() => {
    console.log('Promise returned to indicate that the PhotoOutput instance is removed.');
})
```

Z
zengyawen 已提交
1614
### removeOutput
N
nikhilraut 已提交
1615

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

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

Z
zengyawen 已提交
1620
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1621 1622 1623

**参数:**

Z
zengyawen 已提交
1624 1625 1626 1627
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| videoOutput | [VideoOutput](#videooutput) | 是   | 需要添加的VideoOutput实例。 |
| callback    | AsyncCallback<void\>        | 是   | 回调函数,用于获取结果。    |
N
nikhilraut 已提交
1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640

**示例:**

```
captureSession.removeOutput(videoOutput, (err) => {
    if (err) {
        console.error('Failed to remove the VideoOutput instance. ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the VideoOutput instance is removed.');
});
```

Z
zengyawen 已提交
1641
### removeOutput
N
nikhilraut 已提交
1642

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

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

Z
zengyawen 已提交
1647
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1648 1649 1650

**参数:**

Z
zengyawen 已提交
1651 1652 1653
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| videoOutput | [VideoOutput](#videooutput) | 是   | 需要添加的VideoOutput实例。 |
N
nikhilraut 已提交
1654 1655 1656 1657


**返回值:**

Z
zengyawen 已提交
1658 1659 1660
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1661 1662 1663 1664 1665 1666 1667 1668 1669 1670


**示例:**

```
captureSession.removeOutput(videoOutput).then(() => {
    console.log('Promise returned to indicate that the VideoOutput instance is removed.');
})
```

Z
zengyawen 已提交
1671
### start
N
nikhilraut 已提交
1672

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

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

Z
zengyawen 已提交
1677
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1678 1679 1680

**参数:**

Z
zengyawen 已提交
1681 1682 1683
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696

**示例:**

```
captureSession.start((err) => {
    if (err) {
        console.error('Failed to start the session ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the session start success.');
});
```

Z
zengyawen 已提交
1697
### start
N
nikhilraut 已提交
1698

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

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

Z
zengyawen 已提交
1703
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1704 1705 1706

**返回值:**

Z
zengyawen 已提交
1707 1708 1709
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1710 1711 1712 1713 1714 1715 1716 1717 1718

**示例:**

```
captureSession.start().then(() => {
    console.log('Promise returned to indicate the session start success.');
})
```

Z
zengyawen 已提交
1719
### stop
N
nikhilraut 已提交
1720

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

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

Z
zengyawen 已提交
1725
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1726 1727 1728 1729

**参数:**


Z
zengyawen 已提交
1730 1731 1732
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745

**示例:**

```
captureSession.stop((err) => {
    if (err) {
        console.error('Failed to stop the session ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the session stop success.');
});
```

Z
zengyawen 已提交
1746
### stop
N
nikhilraut 已提交
1747

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

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

Z
zengyawen 已提交
1752
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1753 1754 1755

**返回值:**

Z
zengyawen 已提交
1756 1757 1758
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1759 1760 1761 1762 1763 1764 1765 1766 1767

**示例:**

```
captureSession.stop().then(() => {
    console.log('Promise returned to indicate the session stop success.');
})
```

Z
zengyawen 已提交
1768
### release
N
nikhilraut 已提交
1769

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

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

Z
zengyawen 已提交
1774
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1775 1776

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

Z
zengyawen 已提交
1778 1779 1780
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793

**示例:**

```
captureSession.release((err) => {
    if (err) {
        console.error('Failed to release the CaptureSession instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the CaptureSession instance is released successfully.');
});
```

Z
zengyawen 已提交
1794
### release
N
nikhilraut 已提交
1795

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

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

Z
zengyawen 已提交
1800
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1801 1802 1803

**返回值:**

Z
zengyawen 已提交
1804 1805 1806
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1807 1808 1809 1810 1811 1812 1813 1814 1815

**示例:**

```
captureSession.release().then(() => {
    console.log('Promise returned to indicate that the CaptureSession instance is released successfully.');
})
```

Z
zengyawen 已提交
1816
### on('error')
N
nikhilraut 已提交
1817

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

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

Z
zengyawen 已提交
1822
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1823 1824 1825

**参数:**

Z
zengyawen 已提交
1826 1827 1828 1829
| 名称     | 类型                                | 必填 | 说明                                          |
| :------- | :---------------------------------- | :--- | :-------------------------------------------- |
| type     | string                              | 是   | 监听事件,固定为'error',即拍照会话错误事件。 |
| callback | ErrorCallback<CaptureSessionError\> | 是   | 回调函数,用于获取错误信息。                  |
N
nikhilraut 已提交
1830 1831 1832 1833 1834 1835 1836 1837 1838

**示例:**

```
captureSession.on('error', (captureSessionError) => {
    console.log('Capture session error code: ' + captureSessionError.code);
})
```

Z
zengyawen 已提交
1839
## camera.createPreviewOutput
N
nikhilraut 已提交
1840

Z
zengyawen 已提交
1841
createPreviewOutput(surfaceId: string, callback: AsyncCallback<PreviewOutput\>): void
N
nikhilraut 已提交
1842

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

Z
zengyawen 已提交
1845
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1846 1847 1848

**参数:**

Z
zengyawen 已提交
1849 1850 1851 1852
| 名称      | 类型                                            | 必填 | 说明                                  |
| --------- | ----------------------------------------------- | ---- | ------------------------------------- |
| surfaceId | string                                          | 是   | 从XComponent组件获取的Surface ID。    |
| callback  | AsyncCallback<[PreviewOutput](#previewoutput)\> | 是   | 回调函数,用于获取PreviewOutput实例。 |
N
nikhilraut 已提交
1853 1854 1855 1856

**示例:**

```
Z
zengyawen 已提交
1857
camera.createPreviewOutput((surfaceId), (err, previewOutput) => {
N
nikhilraut 已提交
1858 1859 1860 1861 1862 1863
    if (err) {
        console.error('Failed to create the PreviewOutput instance. ${err.message}');
        return;
    }
    console.log('Callback returned with previewOutput instance');
});
Z
zengyawen 已提交
1864
```
N
nikhilraut 已提交
1865

Z
zengyawen 已提交
1866
## camera.createPreviewOutput
N
nikhilraut 已提交
1867

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

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

Z
zengyawen 已提交
1872
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1873 1874 1875

**参数:**

Z
zengyawen 已提交
1876 1877 1878
| 名称      | 类型   | 必填 | 说明                               |
| --------- | ------ | ---- | ---------------------------------- |
| surfaceId | string | 是   | 从XComponent组件获取的Surface ID。 |
N
nikhilraut 已提交
1879 1880 1881

**返回值:**

Z
zengyawen 已提交
1882 1883 1884
| 类型                                      | 说明                        |
| ----------------------------------------- | --------------------------- |
| Promise<[PreviewOutput](#previewoutput)\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895

**示例:**

```
camera.createPreviewOutput(surfaceId).then((previewOutput) => {
    console.log('Promise returned with the PreviewOutput instance');
})
```

## PreviewOutput

Z
zengyawen 已提交
1896
预览输出类。
N
nikhilraut 已提交
1897

Z
zengyawen 已提交
1898
### release
N
nikhilraut 已提交
1899

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

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

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

**参数:**

Z
zengyawen 已提交
1908 1909 1910
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923

**示例:**

```
previewOutput.release((err) => {
    if (err) {
        console.error('Failed to release the PreviewOutput instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the PreviewOutput instance is released successfully.');
});
```

Z
zengyawen 已提交
1924
### release
N
nikhilraut 已提交
1925

Z
zengyawen 已提交
1926
release(): Promise<void\>
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
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1937 1938 1939 1940 1941 1942 1943 1944 1945 1946


**示例:**

```
previewOutput.release().then(() => {
    console.log('Promise returned to indicate that the PreviewOutput instance is released successfully.');
})
```

Z
zengyawen 已提交
1947
### on('frameStart')
N
nikhilraut 已提交
1948

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

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

Z
zengyawen 已提交
1953
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1954 1955 1956

**参数:**

Z
zengyawen 已提交
1957 1958 1959 1960
| 名称     | 类型                 | 必填 | 说明                                         |
| :------- | :------------------- | :--- | :------------------------------------------- |
| type     | string               | 是   | 监听事件,固定为'frameStart',即帧启动事件。 |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。                     |
N
nikhilraut 已提交
1961 1962 1963 1964 1965 1966 1967 1968 1969

**示例:**

```
previewOutput.on('frameStart', () => {
    console.log('Preview frame started');
})
```

Z
zengyawen 已提交
1970
### on('frameEnd')
N
nikhilraut 已提交
1971

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

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

Z
zengyawen 已提交
1976
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1977 1978 1979

**参数:**

Z
zengyawen 已提交
1980 1981 1982 1983
| 名称     | 类型                 | 必填 | 说明                                       |
| :------- | :------------------- | :--- | :----------------------------------------- |
| type     | string               | 是   | 监听事件,固定为'frameEnd',即帧结束事件。 |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。                   |
N
nikhilraut 已提交
1984 1985 1986 1987 1988 1989 1990 1991 1992

**示例:**

```
previewOutput.on('frameEnd', () => {
    console.log('Preview frame ended');
})
```

Z
zengyawen 已提交
1993
### on('error')
N
nikhilraut 已提交
1994

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

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

Z
zengyawen 已提交
1999
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2000 2001 2002

**参数:**

Z
zengyawen 已提交
2003 2004 2005 2006
| 名称     | 类型                               | 必填 | 说明                                          |
| :------- | :--------------------------------- | :--- | :-------------------------------------------- |
| type     | string                             | 是   | 监听事件,固定为'error',即预览输出错误事件。 |
| callback | ErrorCallback<PreviewOutputError\> | 是   | 回调函数,用于获取错误信息。                  |
N
nikhilraut 已提交
2007 2008 2009 2010 2011 2012 2013 2014 2015

**示例:**

```
previewOutput.on('error', (previewOutputError) => {
    console.log('Preview output error code: ' + previewOutputError.code);
})
```

Z
zengyawen 已提交
2016
## camera.createPhotoOutput
N
nikhilraut 已提交
2017

Z
zengyawen 已提交
2018
createPhotoOutput(surfaceId: string, callback: AsyncCallback<PhotoOutput\>): void
N
nikhilraut 已提交
2019

Z
zengyawen 已提交
2020
获取PhotoOutput实例,通过注册回调函数获取结果。
N
nikhilraut 已提交
2021

Z
zengyawen 已提交
2022
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2023 2024 2025

**参数:**

Z
zengyawen 已提交
2026 2027 2028 2029
| 名称      | 类型                                        | 必填 | 说明                                |
| --------- | ------------------------------------------- | ---- | ----------------------------------- |
| surfaceId | string                                      | 是   | 从ImageReceiver获取的Surface ID。   |
| callback  | AsyncCallback<[PhotoOutput](#photooutput)\> | 是   | 回调函数,用于获取PhotoOutput实例。 |
N
nikhilraut 已提交
2030 2031 2032 2033

**示例:**

```
Z
zengyawen 已提交
2034
camera.createPhotoOutput((surfaceId), (err, photoOutput) => {
N
nikhilraut 已提交
2035 2036 2037 2038 2039 2040
    if (err) {
        console.error('Failed to create the PhotoOutput instance. ${err.message}');
        return;
    }
    console.log('Callback returned with the PhotoOutput instance.');
});
Z
zengyawen 已提交
2041
```
N
nikhilraut 已提交
2042

Z
zengyawen 已提交
2043
## camera.createPhotoOutput
N
nikhilraut 已提交
2044

Z
zengyawen 已提交
2045
createPhotoOutput(surfaceId: string): Promise<PhotoOutput\>
N
nikhilraut 已提交
2046

Z
zengyawen 已提交
2047
获取PhotoOutput实例,通过Promise获取结果。
N
nikhilraut 已提交
2048

Z
zengyawen 已提交
2049
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2050 2051 2052

**参数:**

Z
zengyawen 已提交
2053 2054 2055
| 名称      | 类型   | 必填 | 说明                              |
| --------- | ------ | ---- | --------------------------------- |
| surfaceId | string | 是   | 从ImageReceiver获取的Surface ID。 |
N
nikhilraut 已提交
2056 2057 2058

**返回值:**

Z
zengyawen 已提交
2059 2060 2061
| 类型                                  | 说明                                   |
| ------------------------------------- | -------------------------------------- |
| Promise<[PhotoOutput](#photooutput)\> | 使用Promise的方式获取PhotoOutput实例。 |
N
nikhilraut 已提交
2062 2063 2064 2065 2066 2067 2068 2069

**示例:**

```
camera.createPhotoOutput(surfaceId).then((photoOutput) => {
    console.log('Promise returned with PhotoOutput instance');
})
```
Z
zengyawen 已提交
2070
## ImageRotation
N
nikhilraut 已提交
2071

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

Z
zengyawen 已提交
2074 2075 2076 2077 2078 2079 2080 2081
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Camera.Core。

| 名称         | 默认值 | 说明            |
| ------------ | ------ | --------------- |
| ROTATION_0   | 0      | 图片旋转0度。   |
| ROTATION_90  | 90     | 图片旋转90度。  |
| ROTATION_180 | 180    | 图片旋转180度。 |
| ROTATION_270 | 270    | 图片旋转270度。 |
N
nikhilraut 已提交
2082

Z
zengyawen 已提交
2083 2084


Z
zengyawen 已提交
2085
## QualityLevel
N
nikhilraut 已提交
2086

Z
zengyawen 已提交
2087
枚举,图片质量。
N
nikhilraut 已提交
2088

Z
zengyawen 已提交
2089 2090 2091 2092 2093 2094 2095
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Camera.Core。

| 名称                 | 默认值 | 说明           |
| -------------------- | ------ | -------------- |
| QUALITY_LEVEL_HIGH   | 0      | 图片质量高。   |
| QUALITY_LEVEL_MEDIUM | 1      | 图片质量中等。 |
| QUALITY_LEVEL_LOW    | 2      | 图片质量差。   |
N
nikhilraut 已提交
2096 2097


Z
zengyawen 已提交
2098
## PhotoCaptureSetting
N
nikhilraut 已提交
2099

Z
zengyawen 已提交
2100
拍摄照片的设置。
N
nikhilraut 已提交
2101

Z
zengyawen 已提交
2102 2103 2104 2105 2106 2107
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Camera.Core。

| 名称     | 类型                            | 必填 | 说明           |
| -------- | ------------------------------- | ---- | -------------- |
| quality  | [QualityLevel](#qualitylevel)   | 否   | 图片质量。     |
| rotation | [ImageRotation](#imagerotation) | 否   | 图片旋转角度。 |
N
nikhilraut 已提交
2108 2109


Z
zengyawen 已提交
2110
## PhotoOutput
N
nikhilraut 已提交
2111

Z
zengyawen 已提交
2112
照片输出类。
N
nikhilraut 已提交
2113

Z
zengyawen 已提交
2114
### capture
N
nikhilraut 已提交
2115

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

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

Z
zengyawen 已提交
2120
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2121 2122 2123

**参数:**

Z
zengyawen 已提交
2124 2125 2126
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139

**示例:**

```
photoOutput.capture((err) => {
    if (err) {
        console.error('Failed to capture the photo ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the photo capture request success.');
});
```

Z
zengyawen 已提交
2140
### capture
N
nikhilraut 已提交
2141

Z
zengyawen 已提交
2142
capture(setting: PhotoCaptureSetting, callback: AsyncCallback<void\>): void
N
nikhilraut 已提交
2143

Z
zengyawen 已提交
2144
根据拍照设置拍照,通过注册回调函数获取结果。
N
nikhilraut 已提交
2145

Z
zengyawen 已提交
2146
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2147 2148 2149

**参数:**

Z
zengyawen 已提交
2150 2151 2152 2153
| 名称     | 类型                                        | 必填 | 说明                     |
| -------- | ------------------------------------------- | ---- | ------------------------ |
| setting  | [PhotoCaptureSetting](#photocapturesetting) | 是   | 拍照设置。               |
| callback | AsyncCallback<void\>                        | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166

**示例:**

```
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.');
});
```

Z
zengyawen 已提交
2167
### capture
N
nikhilraut 已提交
2168

Z
zengyawen 已提交
2169
capture(setting?: PhotoCaptureSetting): Promise<void\>
N
nikhilraut 已提交
2170

Z
zengyawen 已提交
2171
根据拍照设置拍照,通过Promise获取结果。
N
nikhilraut 已提交
2172

Z
zengyawen 已提交
2173
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2174 2175 2176

**参数:**

Z
zengyawen 已提交
2177 2178 2179
| 名称    | 类型                                        | 必填 | 说明       |
| ------- | ------------------------------------------- | ---- | ---------- |
| setting | [PhotoCaptureSetting](#photocapturesetting) | 否   | 拍照设置。 |
N
nikhilraut 已提交
2180 2181 2182

**返回值:**

Z
zengyawen 已提交
2183 2184 2185
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
2186 2187 2188 2189 2190 2191 2192 2193 2194 2195


**示例:**

```
photoOutput.capture().then(() => {
    console.log('Promise returned to indicate that photo capture request success.');
})
```

Z
zengyawen 已提交
2196
### release
N
nikhilraut 已提交
2197

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

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

Z
zengyawen 已提交
2202
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2203 2204 2205

**参数:**

Z
zengyawen 已提交
2206 2207 2208
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221

**示例:**

```
photoOutput.release((err) => {
    if (err) {
        console.error('Failed to release the PhotoOutput instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the PhotoOutput instance is released successfully.');
});
```

Z
zengyawen 已提交
2222
### release
N
nikhilraut 已提交
2223

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

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

Z
zengyawen 已提交
2228
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2229 2230 2231

**返回值:**

Z
zengyawen 已提交
2232 2233 2234
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
2235 2236 2237 2238 2239 2240 2241 2242 2243 2244


**示例:**

```
photoOutput.release().then(() => {
    console.log('Promise returned to indicate that the PhotoOutput instance is released successfully.');
})
```

Z
zengyawen 已提交
2245
### on('captureStart')
N
nikhilraut 已提交
2246

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

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

Z
zengyawen 已提交
2251
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2252 2253 2254

**参数:**

Z
zengyawen 已提交
2255 2256 2257 2258
| 名称     | 类型                   | 必填 | 说明                                             |
| :------- | :--------------------- | :--- | :----------------------------------------------- |
| type     | string                 | 是   | 监听事件,固定为'captureStart',即拍照启动事件。 |
| callback | AsyncCallback<number\> | 是   | 使用callback的方式获取Capture ID。               |
N
nikhilraut 已提交
2259 2260 2261 2262 2263 2264 2265 2266 2267

**示例:**

```
photoOutput.on('captureStart', (captureId) => {
    console.log('photo capture stated, captureId : ' + captureId);
})
```

Z
zengyawen 已提交
2268
### on('frameShutter')
N
nikhilraut 已提交
2269

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

Z
zengyawen 已提交
2272
监听帧刷新,通过注册回调函数获取结果。
N
nikhilraut 已提交
2273

Z
zengyawen 已提交
2274
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2275 2276 2277

**参数:**

Z
zengyawen 已提交
2278 2279 2280 2281
| 名称     | 类型                             | 必填 | 说明                                           |
| :------- | :------------------------------- | :--- | :--------------------------------------------- |
| type     | string                           | 是   | 监听事件,固定为'frameShutter',即帧刷新事件。 |
| callback | AsyncCallback<FrameShutterInfo\> | 是   | 回调函数,用于获取相关信息。                   |
N
nikhilraut 已提交
2282 2283 2284 2285 2286 2287 2288 2289 2290 2291

**示例:**

```
photoOutput.on('frameShutter', (frameShutterInfo) => {
    console.log('photo capture end, captureId : ' + frameShutterInfo.captureId);
    console.log('Timestamp for frame : ' + frameShutterInfo.timestamp);
})
```

Z
zengyawen 已提交
2292
### on('captureEnd')
N
nikhilraut 已提交
2293

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

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

Z
zengyawen 已提交
2298
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2299 2300 2301

**参数:**

Z
zengyawen 已提交
2302 2303 2304 2305
| 名称     | 类型                           | 必填 | 说明                                           |
| :------- | :----------------------------- | :--- | :--------------------------------------------- |
| type     | string                         | 是   | 监听事件,固定为'captureEnd',即拍照停止事件。 |
| callback | AsyncCallback<CaptureEndInfo\> | 是   | 回调函数,用于获取相关信息。                   |
N
nikhilraut 已提交
2306 2307 2308 2309 2310 2311 2312 2313 2314 2315

**示例:**

```
photoOutput.on('captureEnd', (captureEndInfo) => {
    console.log('photo capture end, captureId : ' + captureEndInfo.captureId);
    console.log('frameCount : ' + captureEndInfo.frameCount);
})
```

Z
zengyawen 已提交
2316
### on('error')
N
nikhilraut 已提交
2317

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

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

Z
zengyawen 已提交
2322
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2323 2324 2325

**参数:**

Z
zengyawen 已提交
2326 2327 2328 2329
| 名称     | 类型                             | 必填 | 说明                                      |
| :------- | :------------------------------- | :--- | :---------------------------------------- |
| type     | string                           | 是   | 监听事件,固定为'error',即拍照错误事件。 |
| callback | ErrorCallback<PhotoOutputError\> | 是   | 回调函数,用于获取错误信息。              |
N
nikhilraut 已提交
2330 2331 2332 2333 2334 2335 2336 2337 2338

**示例:**

```
photoOutput.on('error', (photoOutputError) => {
    console.log('Photo output error code: ' + photoOutputError.code);
})
```

Z
zengyawen 已提交
2339
## camera.createVideoOutput
N
nikhilraut 已提交
2340

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

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

Z
zengyawen 已提交
2345
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2346 2347 2348

**参数:**

Z
zengyawen 已提交
2349 2350 2351 2352
| 名称      | 类型                                        | 必填 | 说明                                |
| --------- | ------------------------------------------- | ---- | ----------------------------------- |
| surfaceId | string                                      | 是   | 从VideoRecorder获取的Surface ID。   |
| callback  | AsyncCallback<[VideoOutput](#videooutput)\> | 是   | 回调函数,用于获取VideoOutput实例。 |
N
nikhilraut 已提交
2353 2354 2355 2356

**示例:**

```
Z
zengyawen 已提交
2357
camera.createVideoOutput((surfaceId), (err, videoOutput) => {
N
nikhilraut 已提交
2358 2359 2360 2361 2362 2363
    if (err) {
        console.error('Failed to create the VideoOutput instance. ${err.message}');
        return;
    }
    console.log('Callback returned with the VideoOutput instance');
});
Z
zengyawen 已提交
2364
```
N
nikhilraut 已提交
2365

Z
zengyawen 已提交
2366
## camera.createVideoOutput
N
nikhilraut 已提交
2367

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

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

Z
zengyawen 已提交
2372
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2373 2374 2375

**参数:**

Z
zengyawen 已提交
2376 2377 2378
| 名称      | 类型   | 必填 | 说明                              |
| --------- | ------ | ---- | --------------------------------- |
| surfaceId | string | 是   | 从VideoRecorder获取的Surface ID。 |
N
nikhilraut 已提交
2379 2380 2381

**返回值:**

Z
zengyawen 已提交
2382 2383 2384
| 类型                                  | 说明                                   |
| ------------------------------------- | -------------------------------------- |
| Promise<[VideoOutput](#videooutput)\> | 使用Promise的方式获取VideoOutput实例。 |
N
nikhilraut 已提交
2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395

**示例:**

```
camera.createVideoOutput(surfaceId).then((videoOutput) => {
    console.log('Promise returned with the VideoOutput instance');
})
```

## VideoOutput

Z
zengyawen 已提交
2396
视频输出类。
N
nikhilraut 已提交
2397

Z
zengyawen 已提交
2398
### start
N
nikhilraut 已提交
2399

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

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

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

**参数:**

Z
zengyawen 已提交
2408 2409 2410
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423

**示例:**

```
videoOutput.start((err) => {
    if (err) {
        console.error('Failed to start the video output ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the video output start success.');
});
```

Z
zengyawen 已提交
2424
### start
N
nikhilraut 已提交
2425

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

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

Z
zengyawen 已提交
2430
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2431 2432 2433

**返回值:**

Z
zengyawen 已提交
2434 2435 2436
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
2437 2438 2439 2440 2441 2442 2443 2444 2445 2446


**示例:**

```
videoOutput.start().then(() => {
    console.log('Promise returned to indicate that start method execution success.');
})
```

Z
zengyawen 已提交
2447
### stop
N
nikhilraut 已提交
2448

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

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

Z
zengyawen 已提交
2453
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2454 2455 2456

**参数:**

Z
zengyawen 已提交
2457 2458 2459
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472

**示例:**

```
videoOutput.stop((err) => {
    if (err) {
        console.error('Failed to stop the video output ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate the video output stop success.');
});
```

Z
zengyawen 已提交
2473
### stop
N
nikhilraut 已提交
2474

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

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

Z
zengyawen 已提交
2479
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2480 2481 2482

**返回值:**

Z
zengyawen 已提交
2483 2484 2485
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
2486 2487 2488 2489 2490 2491 2492 2493 2494

**示例:**

```
videoOutput.start().then(() => {
    console.log('Promise returned to indicate that stop method execution success.');
})
```

Z
zengyawen 已提交
2495
### release
N
nikhilraut 已提交
2496

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

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

Z
zengyawen 已提交
2501
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2502 2503

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

Z
zengyawen 已提交
2505 2506 2507
| 名称     | 类型                 | 必填 | 说明                     |
| -------- | -------------------- | ---- | ------------------------ |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520

**示例:**

```
videoOutput.release((err) => {
    if (err) {
        console.error('Failed to release the VideoOutput instance ${err.message}');
        return;
    }
    console.log('Callback invoked to indicate that the VideoOutput instance is released successfully.');
});
```

Z
zengyawen 已提交
2521
### release
N
nikhilraut 已提交
2522

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

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

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

**返回值:**

Z
zengyawen 已提交
2531 2532 2533
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
2534 2535 2536 2537 2538 2539 2540 2541 2542 2543


**示例:**

```
videoOutput.release().then(() => {
    console.log('Promise returned to indicate that the VideoOutput instance is released successfully.');
})
```

Z
zengyawen 已提交
2544
### on('frameStart')
N
nikhilraut 已提交
2545

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

Z
zengyawen 已提交
2548
监听视频帧开启,通过注册回调函数获取结果。
N
nikhilraut 已提交
2549

Z
zengyawen 已提交
2550
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2551 2552 2553

**参数:**

Z
zengyawen 已提交
2554 2555 2556 2557
| 名称     | 类型                 | 必填 | 说明                                             |
| :------- | :------------------- | :--- | :----------------------------------------------- |
| type     | string               | 是   | 监听事件,固定为'frameStart',即视频帧开启事件。 |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。                         |
N
nikhilraut 已提交
2558 2559 2560 2561 2562 2563 2564 2565 2566

**示例:**

```
videoOutput.on('frameStart', () => {
    console.log('Video frame started');
})
```

Z
zengyawen 已提交
2567
### on('frameEnd')
N
nikhilraut 已提交
2568

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

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

Z
zengyawen 已提交
2573
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2574 2575 2576

**参数:**

Z
zengyawen 已提交
2577 2578 2579 2580
| 名称     | 类型                 | 必填 | 说明                                           |
| :------- | :------------------- | :--- | :--------------------------------------------- |
| type     | string               | 是   | 监听事件,固定为'frameEnd',即视频帧结束事件。 |
| callback | AsyncCallback<void\> | 是   | 回调函数,用于获取结果。                       |
N
nikhilraut 已提交
2581 2582 2583 2584 2585 2586 2587 2588 2589

**示例:**

```
videoOutput.on('frameEnd', () => {
    console.log('Video frame ended');
})
```

Z
zengyawen 已提交
2590
### on('error')
N
nikhilraut 已提交
2591

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

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

Z
zengyawen 已提交
2596
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2597 2598 2599

**参数:**

Z
zengyawen 已提交
2600 2601 2602 2603
| 名称     | 类型                        | 必填 | 说明                                          |
| :------- | :-------------------------- | :--- | :-------------------------------------------- |
| type     | string                      | 是   | 监听事件,固定为'error',即视频输出错误事件。 |
| callback | Callback<VideoOutputError\> | 是   | 回调函数,用于获取错误信息。                  |
N
nikhilraut 已提交
2604 2605 2606 2607 2608 2609 2610 2611

**示例:**

```
videoOutput.on('error', (VideoOutputError) => {
    console.log('Video output error code: ' + VideoOutputError.code);
})
```