js-apis-camera.md 77.9 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
| 名称           | 类型                                        | 必填 | 说明                                |
| -------------- | ------------------------------------------- | ---- | ----------------------------------- |
| cameraPosition | [CameraPosition](#cameraposition)           | 是   | 相机位置。                          |
| cameraType     | [CameraType](#cameratype)                   | 是   | 相机类型。                          |
Z
zengyawen 已提交
247
| 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
| 名称           | 类型                              | 必填 | 说明       |
| -------------- | --------------------------------- | ---- | ---------- |
Z
zengyawen 已提交
273 274
| cameraPosition | [CameraPosition](#cameraposition) | 是   | 相机位置。 |
| cameraType     | [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                                                | 是   | 监听事件。                           |
| 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
相机实例。
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 330 331 332 333 334 335 336 337 338 339

```
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;

```

Z
zengyawen 已提交
340
## CameraStatusInfo
N
nikhilraut 已提交
341

Z
zengyawen 已提交
342
相机状态信息。
N
nikhilraut 已提交
343

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

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


Z
zengyawen 已提交
352
## CameraInput
N
nikhilraut 已提交
353

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

Z
zengyawen 已提交
356
### getCameraId
N
nikhilraut 已提交
357

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

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

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

**参数:**

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

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

```
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 已提交
382
### getCameraId
N
nikhilraut 已提交
383

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

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

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

**返回值:**

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

**示例:**

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


Z
zengyawen 已提交
405
### hasFlash
N
nikhilraut 已提交
406

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

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

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

**参数:**

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

**示例:**

```
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 已提交
431
### hasFlash
N
nikhilraut 已提交
432

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

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

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
453
### isFlashModeSupported
N
nikhilraut 已提交
454

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

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

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

**参数:**

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

**示例:**

```
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 已提交
480
### isFlashModeSupported
N
nikhilraut 已提交
481

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
508
### setFlashMode
N
nikhilraut 已提交
509

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

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

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

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

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

**参数:**

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

**示例:**

```
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 已提交
540
### setFlashMode
N
nikhilraut 已提交
541

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

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

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

```
cameraInput.setFlashMode(flashMode).then() => {
    console.log('Promise returned with the successful execution of setFlashMode.');
})
```

Z
zengyawen 已提交
573
### getFlashMode
N
nikhilraut 已提交
574

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

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

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

**参数:**

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

**示例:**

```
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 已提交
599
### getFlashMode
N
nikhilraut 已提交
600

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

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

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

**返回值:**

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

**示例:**

```
cameraInput.getFlashMode().then(flashMode) => {
    console.log('Promise returned with current flash mode : ' + flashMode);
})
```

Z
zengyawen 已提交
621
### isFocusModeSupported
N
nikhilraut 已提交
622

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

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

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

**参数:**

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

**示例:**

```
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 已提交
648
### isFocusModeSupported
N
nikhilraut 已提交
649

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
676
### setFocusMode
N
nikhilraut 已提交
677

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

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

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

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

**参数:**

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

**示例:**

```
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 已提交
705
### setFocusMode
N
nikhilraut 已提交
706

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

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

```
cameraInput.setFocusMode(afMode).then() => {
    console.log('Promise returned with the successful execution of setFocusMode.');
})
```

Z
zengyawen 已提交
735
### getFocusMode
N
nikhilraut 已提交
736

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

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

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

**参数:**

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

**示例:**

```
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 已提交
761
### getFocusMode
N
nikhilraut 已提交
762

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

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

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

**返回值:**

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

**示例:**

```
cameraInput.getFocusMode().then(afMode) => {
    console.log('Promise returned with current focus mode : ' + afMode);
})
```

Z
zengyawen 已提交
783
### getZoomRatioRange
N
nikhilraut 已提交
784

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

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

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

**参数:**

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

**示例:**

```
cameraInput.getZoomRatioRange(err, zoomRatioRange) => {
    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 已提交
809
### getZoomRatioRange
N
nikhilraut 已提交
810

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

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

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
831
### setZoomRatio
N
nikhilraut 已提交
832

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

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

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

**参数:**

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

**示例:**

```
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 已提交
858
### setZoomRatio
N
nikhilraut 已提交
859

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

```
cameraInput.setZoomRatio(zoomRatio).then() => {
    console.log('Promise returned with the successful execution of setZoomRatio.');
})
```

Z
zengyawen 已提交
886
### getZoomRatio
N
nikhilraut 已提交
887

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

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

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

**参数:**

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

**示例:**

```
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 已提交
912
### getZoomRatio
N
nikhilraut 已提交
913

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

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

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

**返回值:**

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

**示例:**

```
cameraInput.getZoomRatio().then(zoomRatio) => {
    console.log('Promise returned with current zoom ratio : ' + zoomRatio);
})
```

Z
zengyawen 已提交
934
### release
N
nikhilraut 已提交
935

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

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

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

**参数:**

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

**示例:**

```
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 已提交
960
### release
N
nikhilraut 已提交
961

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

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

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
982
### on('focusStateChange')
N
nikhilraut 已提交
983

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

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

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

**参数:**

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

**示例:**

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

Z
zengyawen 已提交
1005
### on('error')
N
nikhilraut 已提交
1006

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

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

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

**参数:**

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

**示例:**

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


Z
zengyawen 已提交
1029
## FlashMode
N
nikhilraut 已提交
1030

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

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

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

Z
zengyawen 已提交
1042
## FocusMode
N
nikhilraut 已提交
1043

Z
zengyawen 已提交
1044
枚举,焦距模式。
N
nikhilraut 已提交
1045

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

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

## FocusState
N
nikhilraut 已提交
1056

Z
zengyawen 已提交
1057
枚举,焦距状态。
N
nikhilraut 已提交
1058

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

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

Z
zengyawen 已提交
1067
## camera.createCaptureSession
N
nikhilraut 已提交
1068

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

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

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

**参数:**

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

**示例:**

```
camera.createCaptureSession(context), (err, captureSession) => {
    if (err) {
        console.error('Failed to create the CaptureSession instance. ${err.message}');
        return;
    }
    console.log('Callback returned with the CaptureSession instance.' + captureSession);
});
```

Z
zengyawen 已提交
1094
## camera.createCaptureSession
N
nikhilraut 已提交
1095

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
1122
## CaptureSession
N
nikhilraut 已提交
1123

Z
zengyawen 已提交
1124
拍照会话类。
N
nikhilraut 已提交
1125

Z
zengyawen 已提交
1126
### beginConfig
N
nikhilraut 已提交
1127

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

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

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

**参数:**

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

**示例:**

```
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 已提交
1152
### beginConfig
N
nikhilraut 已提交
1153

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

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

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

**返回值:**

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


**示例:**

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

Z
zengyawen 已提交
1175
### commitConfig
N
nikhilraut 已提交
1176

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

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

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

**参数:**

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

**示例:**

```
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 已提交
1201
### commitConfig
N
nikhilraut 已提交
1202

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

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

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
1223
### addInput
N
nikhilraut 已提交
1224

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

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

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

**参数:**

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

**示例:**

```
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 已提交
1250
### addInput
N
nikhilraut 已提交
1251

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
1278
### addOutput
N
nikhilraut 已提交
1279

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

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

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

**参数:**

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

**示例:**

```
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 已提交
1305
### addOutput
N
nikhilraut 已提交
1306

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
1333
### addOutput
N
nikhilraut 已提交
1334

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

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

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

**参数:**

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

**示例:**

```
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 已提交
1360
### addOutput
N
nikhilraut 已提交
1361

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
1388
### addOutput
N
nikhilraut 已提交
1389

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

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

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

**参数:**

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

**示例:**

```
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 已提交
1415
### addOutput
N
nikhilraut 已提交
1416

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
1443
### removeInput
N
nikhilraut 已提交
1444

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

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

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

**参数:**

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

**示例:**

```
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 已提交
1470
### removeInput
N
nikhilraut 已提交
1471

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
1498
### removeOutput
N
nikhilraut 已提交
1499

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

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

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

**参数:**

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

**示例:**

```
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 已提交
1525
### removeOutput
N
nikhilraut 已提交
1526

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

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

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

**参数:**

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


**返回值:**

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


**示例:**

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

Z
zengyawen 已提交
1555
### removeOutput
N
nikhilraut 已提交
1556

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

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

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

**参数:**

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

**示例:**

```
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 已提交
1582
### removeOutput
N
nikhilraut 已提交
1583

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

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

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

**参数:**

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


**返回值:**

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


**示例:**

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

Z
zengyawen 已提交
1612
### removeOutput
N
nikhilraut 已提交
1613

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

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

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

**参数:**

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

**示例:**

```
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 已提交
1639
### removeOutput
N
nikhilraut 已提交
1640

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

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

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

**参数:**

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


**返回值:**

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


**示例:**

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

Z
zengyawen 已提交
1669
### start
N
nikhilraut 已提交
1670

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

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

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

**参数:**

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

**示例:**

```
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 已提交
1695
### start
N
nikhilraut 已提交
1696

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

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

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
1717
### stop
N
nikhilraut 已提交
1718

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

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

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

**参数:**


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

**示例:**

```
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 已提交
1744
### stop
N
nikhilraut 已提交
1745

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

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

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
1766
### release
N
nikhilraut 已提交
1767

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

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

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

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

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

**示例:**

```
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 已提交
1792
### release
N
nikhilraut 已提交
1793

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

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

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

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
1814
### on('error')
N
nikhilraut 已提交
1815

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

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

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

**参数:**

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

**示例:**

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

Z
zengyawen 已提交
1837
## camera.createPreviewOutput
N
nikhilraut 已提交
1838

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

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

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

**参数:**

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

**示例:**

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

Z
zengyawen 已提交
1864
## camera.createPreviewOutput
N
nikhilraut 已提交
1865

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

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

## PreviewOutput

Z
zengyawen 已提交
1894
预览输出类。
N
nikhilraut 已提交
1895

Z
zengyawen 已提交
1896
### release
N
nikhilraut 已提交
1897

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

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

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

**参数:**

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

**示例:**

```
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 已提交
1922
### release
N
nikhilraut 已提交
1923

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

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

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

**返回值:**

Z
zengyawen 已提交
1932 1933 1934
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1935 1936 1937 1938 1939 1940 1941 1942 1943 1944


**示例:**

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

Z
zengyawen 已提交
1945
### on('frameStart')
N
nikhilraut 已提交
1946

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

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

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

**参数:**

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

**示例:**

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

Z
zengyawen 已提交
1968
### on('frameEnd')
N
nikhilraut 已提交
1969

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

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

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

**参数:**

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

**示例:**

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

Z
zengyawen 已提交
1991
### on('error')
N
nikhilraut 已提交
1992

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

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

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

**参数:**

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

**示例:**

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

Z
zengyawen 已提交
2014
## camera.createPhotoOutput
N
nikhilraut 已提交
2015

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

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

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

**参数:**

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

**示例:**

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

Z
zengyawen 已提交
2041
## camera.createPhotoOutput
N
nikhilraut 已提交
2042

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

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

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

**参数:**

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

**返回值:**

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

**示例:**

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

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

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

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

Z
zengyawen 已提交
2081
## QualityLevel
N
nikhilraut 已提交
2082

Z
zengyawen 已提交
2083
枚举,图片质量。
N
nikhilraut 已提交
2084

Z
zengyawen 已提交
2085 2086 2087 2088 2089 2090 2091
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Camera.Core。

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


Z
zengyawen 已提交
2094
## PhotoCaptureSetting
N
nikhilraut 已提交
2095

Z
zengyawen 已提交
2096
拍摄照片的设置。
N
nikhilraut 已提交
2097

Z
zengyawen 已提交
2098 2099 2100 2101 2102 2103
**系统能力:** 以下各项对应的系统能力均为SystemCapability.Multimedia.Camera.Core。

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


Z
zengyawen 已提交
2106
## PhotoOutput
N
nikhilraut 已提交
2107

Z
zengyawen 已提交
2108
照片输出类。
N
nikhilraut 已提交
2109

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

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

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

Z
zengyawen 已提交
2116
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2117 2118 2119

**参数:**

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

**示例:**

```
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 已提交
2136
### capture
N
nikhilraut 已提交
2137

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

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

Z
zengyawen 已提交
2142
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2143 2144 2145

**参数:**

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

**示例:**

```
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 已提交
2163
### capture
N
nikhilraut 已提交
2164

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

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

Z
zengyawen 已提交
2169
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2170 2171 2172

**参数:**

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

**返回值:**

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


**示例:**

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

Z
zengyawen 已提交
2192
### release
N
nikhilraut 已提交
2193

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

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

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

**参数:**

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

**示例:**

```
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 已提交
2218
### release
N
nikhilraut 已提交
2219

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

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

Z
zengyawen 已提交
2224
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2225 2226 2227

**返回值:**

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


**示例:**

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

Z
zengyawen 已提交
2241
### on('captureStart')
N
nikhilraut 已提交
2242

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

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

Z
zengyawen 已提交
2247
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2248 2249 2250

**参数:**

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

**示例:**

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

Z
zengyawen 已提交
2264
### on('frameShutter')
N
nikhilraut 已提交
2265

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

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

Z
zengyawen 已提交
2270
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2271 2272 2273

**参数:**

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

**示例:**

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

Z
zengyawen 已提交
2288
### on('captureEnd')
N
nikhilraut 已提交
2289

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

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

Z
zengyawen 已提交
2294
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2295 2296 2297

**参数:**

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

**示例:**

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

Z
zengyawen 已提交
2312
### on('error')
N
nikhilraut 已提交
2313

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

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

Z
zengyawen 已提交
2318
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2319 2320 2321

**参数:**

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

**示例:**

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

Z
zengyawen 已提交
2335
## camera.createVideoOutput
N
nikhilraut 已提交
2336

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

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

Z
zengyawen 已提交
2341
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2342 2343 2344

**参数:**

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

**示例:**

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

Z
zengyawen 已提交
2362
## camera.createVideoOutput
N
nikhilraut 已提交
2363

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

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

Z
zengyawen 已提交
2368
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2369 2370 2371

**参数:**

Z
zengyawen 已提交
2372 2373 2374
| 名称      | 类型   | 必填 | 说明                              |
| --------- | ------ | ---- | --------------------------------- |
| surfaceId | string | 是   | 从VideoRecorder获取的Surface ID。 |
N
nikhilraut 已提交
2375 2376 2377

**返回值:**

Z
zengyawen 已提交
2378 2379 2380
| 类型                  | 说明                                   |
| --------------------- | -------------------------------------- |
| Promise<PhotoOutput\> | 使用Promise的方式获取VideoOutput实例。 |
N
nikhilraut 已提交
2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391

**示例:**

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

## VideoOutput

Z
zengyawen 已提交
2392
视频输出类。
N
nikhilraut 已提交
2393

Z
zengyawen 已提交
2394
### start
N
nikhilraut 已提交
2395

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

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

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

**参数:**

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

**示例:**

```
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 已提交
2420
### start
N
nikhilraut 已提交
2421

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

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

Z
zengyawen 已提交
2426
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2427 2428 2429

**返回值:**

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


**示例:**

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

Z
zengyawen 已提交
2443
### stop
N
nikhilraut 已提交
2444

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

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

Z
zengyawen 已提交
2449
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2450 2451 2452

**参数:**

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

**示例:**

```
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 已提交
2469
### stop
N
nikhilraut 已提交
2470

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

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

Z
zengyawen 已提交
2475
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2476 2477 2478

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
2491
### release
N
nikhilraut 已提交
2492

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

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

Z
zengyawen 已提交
2497
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2498 2499

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

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

**示例:**

```
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 已提交
2517
### release
N
nikhilraut 已提交
2518

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

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

Z
zengyawen 已提交
2523
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2524 2525 2526

**返回值:**

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


**示例:**

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

Z
zengyawen 已提交
2540
### on('frameStart')
N
nikhilraut 已提交
2541

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

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

Z
zengyawen 已提交
2546
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2547 2548 2549

**参数:**

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

**示例:**

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

Z
zengyawen 已提交
2563
### on('frameEnd')
N
nikhilraut 已提交
2564

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

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

Z
zengyawen 已提交
2569
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2570 2571 2572

**参数:**

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

**示例:**

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

Z
zengyawen 已提交
2586
### on('error')
N
nikhilraut 已提交
2587

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

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

Z
zengyawen 已提交
2592
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2593 2594 2595

**参数:**

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

**示例:**

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