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

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

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 26 27

**参数:**

| 名称      | 类型                          | 必填       | 说明                                                 |
|----------|-------------------------------|-----------|-----------------------------------------------------|
Z
zengyawen 已提交
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 53 54

**参数:**

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

**返回值:**

| 类型                     | 说明                                                   |
|-------------------------|--------------------------------------------------------|
Z
zengyawen 已提交
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 75 76

| 名称                       | 默认值         | 说明               |
|---------------------------|---------------|--------------------|
Z
zengyawen 已提交
77 78 79 80
| CAMERA_STATUS_APPEAR      | 0             | 相机存在。<br/>**系统能力:**  SystemCapability.Multimedia.Camera.Core |
| CAMERA_STATUS_DISAPPEAR   | 1             | 相机不存在。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| CAMERA_STATUS_AVAILABLE   | 2             | 相机就绪。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| CAMERA_STATUS_UNAVAILABLE | 3             | 相机未就绪。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
N
nikhilraut 已提交
81 82


Z
zengyawen 已提交
83
## CameraPosition
N
nikhilraut 已提交
84

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

| 名称                         | 默认值         | 说明                  |
|-----------------------------|---------------|-----------------------|
Z
zengyawen 已提交
89 90 91
| CAMERA_POSITION_UNSPECIFIED | 0             | 未指定方向相机。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| CAMERA_POSITION_BACK        | 1             | 后置相机。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| CAMERA_POSITION_FRONT       | 2             | 前置相机。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
N
nikhilraut 已提交
92

Z
zengyawen 已提交
93
## CameraType
N
nikhilraut 已提交
94

Z
zengyawen 已提交
95
枚举,相机类型。
N
nikhilraut 已提交
96 97 98

| 名称                     | 默认值         | 说明                     |
|-------------------------|---------------|-------------------------|
Z
zengyawen 已提交
99 100 101 102 103
| CAMERA_TYPE_UNSPECIFIED | 0             | 未指定相机类型。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| CAMERA_TYPE_WIDE_ANGLE  | 1             | 广角相机。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| CAMERA_TYPE_ULTRA_WIDE  | 2             | 超级广角相机。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| CAMERA_TYPE_TELEPHOTO   | 3             | 长焦相机。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| CAMERA_TYPE_TRUE_DEPTH  | 4             | 深度相机。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
N
nikhilraut 已提交
104 105


Z
zengyawen 已提交
106
## ConnectionType
N
nikhilraut 已提交
107

Z
zengyawen 已提交
108
枚举,相机连接类型。
N
nikhilraut 已提交
109 110 111

| 名称                          | 默认值         | 说明                        |
|------------------------------|---------------|----------------------------|
Z
zengyawen 已提交
112 113 114
| CAMERA_CONNECTION_BUILT_IN   | 0             | 内置相机。<br/>**系统能力:**  SystemCapability.Multimedia.Camera.Core |
| CAMERA_CONNECTION_USB_PLUGIN | 1             | 外置USB相机。<br/>**系统能力:**  SystemCapability.Multimedia.Camera.Core |
| CAMERA_CONNECTION_REMOTE     | 2             | 分布式相机。<br/>**系统能力:**  SystemCapability.Multimedia.Camera.Core |
N
nikhilraut 已提交
115 116


Z
zengyawen 已提交
117
## CameraFormat
N
nikhilraut 已提交
118

Z
zengyawen 已提交
119
枚举,照片格式。
N
nikhilraut 已提交
120 121 122

| 名称                        | 默认值         | 说明                 |
|----------------------------|---------------|---------------------|
Z
zengyawen 已提交
123 124 125 126
| CAMERA_FORMAT_YCRCb_420_SP | 1003          | YCRCb格式。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| CAMERA_FORMAT_JPEG         | 2000          | JPEG格式。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| CAMERA_FORMAT_AVC          | 3000          | AVC格式。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| CAMERA_FORMAT_HEVC         | 3001          | HEVC格式。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
N
nikhilraut 已提交
127 128


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

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

Z
zengyawen 已提交
133
### getCameras
N
nikhilraut 已提交
134

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

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

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

**参数:**

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

**示例:**

```
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 已提交
159
### getCameras
N
nikhilraut 已提交
160

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

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

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

**返回值:**

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


**示例:**

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

Z
zengyawen 已提交
182
### createCameraInput
N
nikhilraut 已提交
183

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

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

Z
zengyawen 已提交
188
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
189 190 191 192 193

**参数:**

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

**示例:**

```
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 已提交
209
### createCameraInput
N
nikhilraut 已提交
210

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

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

Z
zengyawen 已提交
215
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
216 217 218 219 220

**参数:**

| 名称      | 默认值                       | 必填       | 说明                                     |
|----------|-----------------------------|-----------|------------------------------------------|
Z
zengyawen 已提交
221
| cameraId | string                      | 是       | 指定相机ID。            |
N
nikhilraut 已提交
222 223 224 225 226

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
237
### createCameraInput
N
nikhilraut 已提交
238

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

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

Z
zengyawen 已提交
243
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
244 245 246 247 248

**参数:**

| 名称            | 类型                        | 必填      | 说明                                               |
|----------------|----------------------------|-----------|---------------------------------------------------|
Z
zengyawen 已提交
249 250 251
| cameraPosition | [CameraPosition](#cameraposition) | 是       | 相机位置。                                          |
| cameraType     | [CameraType](#cameratype) | 是       | 相机类型。                                           |
| callback       | AsyncCallback<[CameraInput](#camerainput)\> | 是   | 回调函数,用于获取CameraInput实例。 |
N
nikhilraut 已提交
252

Z
zengyawen 已提交
253
**示例:**
N
nikhilraut 已提交
254 255 256 257 258 259 260 261 262 263 264

```
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 已提交
265
### createCameraInput
N
nikhilraut 已提交
266

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

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

Z
zengyawen 已提交
271
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
272 273 274 275 276

**参数:**

| 名称            | 类型                        | 必填      | 说明                                    |
|----------------|----------------------------|-----------|----------------------------------------|
Z
zengyawen 已提交
277 278
| cameraPosition | [CameraPosition](#cameraposition) | 是   | 相机位置。 |
| cameraType     | [CameraType](#cameratype)         | 是   | 相机类型。 |
N
nikhilraut 已提交
279 280 281 282 283

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
294
### on('cameraStatus')
N
nikhilraut 已提交
295

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

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

Z
zengyawen 已提交
300
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
301 302 303 304 305

**参数:**

| 名称      | 类型                    | 必填       | 说明                                                 |
| :------- | :--------------------- | :-------- | :--------------------------------------------------- |
Z
zengyawen 已提交
306 307
| type     | string                 | 是       | 监听事件。                               |
| callback | AsyncCallback<[CameraStatusInfo](#camerastatusinfo)\> | 是  | 回调函数,用于获取相机状态变化信息。 |
N
nikhilraut 已提交
308 309 310 311 312 313 314 315 316 317

**示例:**

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

Z
zengyawen 已提交
318
## Camera
N
nikhilraut 已提交
319

Z
zengyawen 已提交
320
相机实例。
N
nikhilraut 已提交
321

Z
zengyawen 已提交
322
| 名称            | 类型           | 只读 | 说明                    |
N
nikhilraut 已提交
323
|----------------|----------------|----------|------------------------|
Z
zengyawen 已提交
324 325 326 327 328 329
| cameraId       | string         | 是 | 相机ID。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core|
| cameraPosition | [CameraPosition](#cameraposition) | 是 | 相机位置。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| cameraType     | [CameraType](#cameratype) | 是 | 相机类型。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| connectionType | [ConnectionType](#connectiontype) | 是 | 相机连接类型。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |

**示例:**
N
nikhilraut 已提交
330 331 332 333 334 335 336 337 338 339 340 341

```
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 已提交
342
## CameraStatusInfo
N
nikhilraut 已提交
343

Z
zengyawen 已提交
344
相机状态信息。
N
nikhilraut 已提交
345 346 347

| 名称            | 类型            | 说明             |
|----------------|----------------|------------------|
Z
zengyawen 已提交
348 349
| camera         | [Camera](#camera) | 相机信息。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| status         | [CameraStatus](#camerastatus) | 相机状态。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
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 366 367

**参数:**

| 名称      | 类型                    | 必填      | 说明                                   |
|----------|------------------------|-----------|---------------------------------------|
Z
zengyawen 已提交
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 392 393

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
404
### getSupportedSizes
N
nikhilraut 已提交
405

Z
zengyawen 已提交
406
getSupportedSizes\(format: CameraFormat, callback: AsyncCallback<Array<Size\>\>\): void
N
nikhilraut 已提交
407

Z
zengyawen 已提交
408
根据指定格式,获取相机支持的分辨率,通过注册回调函数获取结果。
N
nikhilraut 已提交
409

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

**参数:**

| 名称      | 类型                          | 必填      | 说明                                         |
|----------|------------------------------|-----------|---------------------------------------------|
Z
zengyawen 已提交
416 417
| format   | [CameraFormat](#cameraformat) | 是       | 指定照片格式。    |
| callback | AsyncCallback<Array<[Size](js-apis-image.md#Size)\>\> | 是       | 回调函数,用于获取相机支持分辨率。 |
N
nikhilraut 已提交
418 419 420 421 422 423 424 425 426 427 428 429 430

**示例:**

```
cameraInput.getSupportedSizes(format, (err, sizes) => {
    if (err) {
        console.error('Failed to get the supported sizes. ${err.message}');
		return;
    }
    console.log('Callback returned with the supported sizes:' + sizes);
})
```

Z
zengyawen 已提交
431
### getSupportedSizes
N
nikhilraut 已提交
432

Z
zengyawen 已提交
433
getSupportedSizes\(format: CameraFormat\): Promise<Array<Size\>\>
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
| 名称   | 类型                          | 必填 | 说明           |
| ------ | ----------------------------- | ---- | -------------- |
| format | [CameraFormat](#cameraformat) | 是   | 指定照片格式。 |
N
nikhilraut 已提交
444 445 446 447 448

**返回值:**

| 类型                    | 说明                                         |
|------------------------|---------------------------------------------|
Z
zengyawen 已提交
449
| Promise<Array<[Size](js-apis-image.md#Size)\>\> | 使用Promise的方式获取相机支持的分辨率。 |
N
nikhilraut 已提交
450 451 452 453 454 455 456 457 458

**示例:**

```
cameraInput.getSupportedSizes(format).then((sizes) => {
    console.log('Promise returned with supported sizes: ' + sizes);
})
```

Z
zengyawen 已提交
459
### getSupportedPreviewFormats
N
nikhilraut 已提交
460

Z
zengyawen 已提交
461
getSupportedPreviewFormats\(callback: AsyncCallback<Array<CameraFormat\>\>\): void
N
nikhilraut 已提交
462

Z
zengyawen 已提交
463
获取相机预览图片的支持格式,通过注册回调函数获取结果。
N
nikhilraut 已提交
464

Z
zengyawen 已提交
465
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
466 467 468

**参数:**

Z
zengyawen 已提交
469 470 471
| 名称     | 类型                                                  | 必填 | 说明                                   |
| -------- | ----------------------------------------------------- | ---- | -------------------------------------- |
| callback | AsyncCallback<Array<[CameraFormat](#cameraformat)\>\> | 是   | 回调函数,用于获取预览图片的支持格式。 |
N
nikhilraut 已提交
472 473 474 475 476 477 478 479 480 481 482 483 484

**示例:**

```
cameraInput.getSupportedPreviewFormats((err, previewFormats) => {
    if (err) {
        console.error('Failed to get the supported preview formats. ${err.message}');
        return;
    }
    console.log('Callback returned with supported preview formats: ' + previewFormats.length);
})
```

Z
zengyawen 已提交
485
### getSupportedPreviewFormats
N
nikhilraut 已提交
486

Z
zengyawen 已提交
487
getSupportedPreviewFormats\(\): Promise<Array<CameraFormat\>\>
N
nikhilraut 已提交
488

Z
zengyawen 已提交
489
获取相机预览图片的支持格式,通过注册回调函数获取结果。
N
nikhilraut 已提交
490

Z
zengyawen 已提交
491
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
492 493 494 495 496

**返回值:**

| 类型                            | 说明                                                   |
|--------------------------------|-------------------------------------------------------|
Z
zengyawen 已提交
497
| Promise<Array<[CameraFormat](#cameraformat)\>\> | 使用Promise的方式获取预览图片的支持格式。 |
N
nikhilraut 已提交
498 499 500 501 502 503 504 505 506

**示例:**

```
cameraInput.getSupportedPreviewFormats().then((previewFormats) => {
    console.log('Promise returned with supported preview formats.' + previewFormats.length);
})
```

Z
zengyawen 已提交
507
### getSupportedPhotoFormats
N
nikhilraut 已提交
508

Z
zengyawen 已提交
509
getSupportedPhotoFormats\(callback: AsyncCallback<Array<CameraFormat\>\>\): void
N
nikhilraut 已提交
510

Z
zengyawen 已提交
511
获取照片的支持格式,通过注册回调函数获取结果。
N
nikhilraut 已提交
512

Z
zengyawen 已提交
513
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
514 515 516 517 518

**参数:**

| 名称      | 类型                                  | 必填      | 说明                                             |
|----------|--------------------------------------|-----------|-------------------------------------------------|
Z
zengyawen 已提交
519
| callback | AsyncCallback<Array<[CameraFormat](#cameraformat)\>\> | 是       | 回调函数,用于获取支持的照片格式。 |
N
nikhilraut 已提交
520 521 522 523 524 525 526 527 528 529 530 531 532

**示例:**

```
cameraInput.getSupportedPhotoFormats((err, photoFormats) => {
    if (err) {
        console.error('Failed to get the supported photo formats. ${err.message}');
        return;
    }
    console.log('Callback returned with supported photo formats');
})
```

Z
zengyawen 已提交
533
### getSupportedPhotoFormats
N
nikhilraut 已提交
534

Z
zengyawen 已提交
535
getSupportedPhotoFormats\(\): Promise<Array<CameraFormat\>\>
N
nikhilraut 已提交
536

Z
zengyawen 已提交
537
获取照片的支持格式,通过Promise获取结果。
N
nikhilraut 已提交
538

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

**返回值:**

| 类型                            | 说明                                               |
|--------------------------------|---------------------------------------------------|
Z
zengyawen 已提交
545
| Promise<Array<[CameraFormat](#cameraformat)\>\> | 使用Promise的方式获取支持的照片格式。                |
N
nikhilraut 已提交
546 547 548 549 550 551 552 553 554

**示例:**

```
cameraInput.getSupportedPhotoFormats().then((photoFormats) => {
    console.log('Promise returned with supported photo formats.' + photoFormats.length);
})
```

Z
zengyawen 已提交
555
### getSupportedVideoFormats
N
nikhilraut 已提交
556

Z
zengyawen 已提交
557
getSupportedVideoFormats\(callback: AsyncCallback<Array<CameraFormat\>\>\): void
N
nikhilraut 已提交
558

Z
zengyawen 已提交
559
获取录制视频的支持格式,通过注册回调函数获取结果。
N
nikhilraut 已提交
560

Z
zengyawen 已提交
561
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
562 563 564 565 566

**参数:**

| 名称      | 类型                                 | 必填       | 说明                                             |
|----------|--------------------------------------|-----------|-------------------------------------------------|
Z
zengyawen 已提交
567
| callback | AsyncCallback<Array<[CameraFormat](#cameraformat)\>\> | 是       | 回调函数,用于获取支持的视频格式。 |
N
nikhilraut 已提交
568 569 570 571 572 573 574 575 576 577 578 579 580

**示例:**

```
cameraInput.getSupportedVideoFormats((err, videoFormats) => {
    if (err) {
        console.error('Failed to get the supported video formats. ${err.message}');
        return;
    }
    console.log('Callback returned with supported video formats : ' + videoFormats.length);
})
```

Z
zengyawen 已提交
581
### getSupportedVideoFormats
N
nikhilraut 已提交
582

Z
zengyawen 已提交
583
getSupportedVideoFormats\(\): Promise<Array<CameraFormat\>\>
N
nikhilraut 已提交
584

Z
zengyawen 已提交
585
获取录制视频的支持格式,通过Promise获取结果。
N
nikhilraut 已提交
586

Z
zengyawen 已提交
587
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
588 589 590 591 592

**返回值:**

| 类型                            | 说明                                               |
|--------------------------------|---------------------------------------------------|
Z
zengyawen 已提交
593
| Promise<Array<[CameraFormat](#cameraformat)\>\> | 使用Promise的方式获取支持的视频格式。         |
N
nikhilraut 已提交
594 595 596 597 598 599 600 601 602

**示例:**

```
cameraInput.getSupportedVideoFormats().then((videoFormats) => {
    console.log('Promise returned with supported video formats.' + videoFormats.length);
})
```

Z
zengyawen 已提交
603
### hasFlash
N
nikhilraut 已提交
604

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

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

Z
zengyawen 已提交
609
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
610 611 612 613 614

**参数:**

| 名称     | 类型                     | 必填       | 说明                                                |
|----------|-------------------------|-----------|----------------------------------------------------|
Z
zengyawen 已提交
615
| callback | AsyncCallback<boolean\> | 是       | 回调函数,返回true表示设备支持闪光灯。 |
N
nikhilraut 已提交
616 617 618 619 620 621 622 623 624 625 626 627 628

**示例:**

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

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

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

Z
zengyawen 已提交
635
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
636 637 638 639 640

**返回值:**

| 类型                   | 说明                                                    |
|-----------------------|--------------------------------------------------------|
Z
zengyawen 已提交
641
| Promise<boolean\>     | 使用Promise的方式获取结果,返回true表示设备支持闪光灯。 |
N
nikhilraut 已提交
642 643 644 645 646 647 648 649 650

**示例:**

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

Z
zengyawen 已提交
651
### isFlashModeSupported
N
nikhilraut 已提交
652

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

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

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

**参数:**

| 名称      | 类型                    | 必填        | 说明                                               |
|-----------|------------------------|-----------|----------------------------------------------------|
Z
zengyawen 已提交
663 664
| flashMode | [FlashMode](#flashmode) | 是       | 指定闪光灯模式。 |
| callback  | AsyncCallback<boolean\> | 是       | 回调函数,返回true表示支持该闪光灯模式。 |
N
nikhilraut 已提交
665 666 667 668 669 670 671 672 673 674 675 676 677

**示例:**

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

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

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

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

**参数:**

| 名称       | 类型                   | 必填       | 说明                                                |
|-----------|------------------------|-----------|----------------------------------------------------|
Z
zengyawen 已提交
690
| flashMode | [FlashMode](#flashmode) | 是   | 指定闪光灯模式。 |
N
nikhilraut 已提交
691 692 693 694 695

**返回值:**

| 类型                   | 说明                                               |
|-----------------------|---------------------------------------------------|
Z
zengyawen 已提交
696
| Promise<boolean\>     | 使用Promise的方式获取结果,返回true表示设备支持该闪光灯模式。 |
N
nikhilraut 已提交
697 698 699 700 701 702 703 704 705

**示例:**

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

Z
zengyawen 已提交
706
### setFlashMode
N
nikhilraut 已提交
707

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

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

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

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

Z
zengyawen 已提交
717
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
718 719 720 721 722

**参数:**

| 名称       | 类型                   | 必填       | 说明                                                |
|-----------|------------------------|-----------|----------------------------------------------------|
Z
zengyawen 已提交
723 724
| flashMode | [FlashMode](#flashmode) | 是   | 指定闪光灯模式。         |
| callback  | AsyncCallback<void\>   | 是       | 回调函数,用于获取结果。            |
N
nikhilraut 已提交
725 726 727 728 729 730 731 732 733 734 735 736 737

**示例:**

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

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

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

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

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

Z
zengyawen 已提交
749
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
750 751 752 753 754

**参数:**

| 名称       | 类型                    | 必填      | 说明                                                |
|-----------|------------------------|-----------|----------------------------------------------------|
Z
zengyawen 已提交
755
| flashMode | [FlashMode](#flashmode) | 是   | 指定闪光灯模式。 |
N
nikhilraut 已提交
756 757 758 759 760

**返回值:**

| 类型                   | 说明                                    |
|-----------------------|-----------------------------------------|
Z
zengyawen 已提交
761
| Promise<void\>        | 使用Promise的方式获取结果。                |
N
nikhilraut 已提交
762 763 764 765 766 767 768 769 770

**示例:**

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

Z
zengyawen 已提交
771
### getFlashMode
N
nikhilraut 已提交
772

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

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

Z
zengyawen 已提交
777
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
778 779 780 781 782

**参数:**

| 名称       | 类型                      | 必填       | 说明                                            |
|-----------|---------------------------|-----------|------------------------------------------------|
Z
zengyawen 已提交
783
| callback  | AsyncCallback<[FlashMode](#flashmode)\> | 是       | 回调函数,用于获取当前设备的闪光灯模式。 |
N
nikhilraut 已提交
784 785 786 787 788 789 790 791 792 793 794 795 796

**示例:**

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

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

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

Z
zengyawen 已提交
803
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
804 805 806 807 808

**返回值:**

| 类型                   | 说明                                              |
|-----------------------|---------------------------------------------------|
Z
zengyawen 已提交
809
| Promise<[FlashMode](#flashmode)\> | 使用Promise的方式获取当前的闪光灯模式。                 |
N
nikhilraut 已提交
810 811 812 813 814 815 816 817 818

**示例:**

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

Z
zengyawen 已提交
819
### isFocusModeSupported
N
nikhilraut 已提交
820

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

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

Z
zengyawen 已提交
825
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
826 827 828 829 830

**参数:**

| 名称       | 类型                    | 必填      | 说明                                                |
|-----------|------------------------|-----------|----------------------------------------------------|
Z
zengyawen 已提交
831 832
| afMode    | [FocusMode](#focusmode) | 是       | 指定的焦距模式。                        |
| callback  | AsyncCallback<boolean\> | 是       | 回调函数,返回true表示支持该焦距模式。 |
N
nikhilraut 已提交
833 834 835 836 837 838 839 840 841 842 843 844 845

**示例:**

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

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

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

Z
zengyawen 已提交
852
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
853 854 855 856 857

**参数:**

| 名称       | 类型                                    | 必填      | 说明         |
|-----------|----------------------------------------|-----------|-------------|
Z
zengyawen 已提交
858
| afMode    | [FocusMode](#focusmode) | 是   | 指定的焦距模式。 |
N
nikhilraut 已提交
859 860 861 862 863

**返回值:**

| 类型                   | 说明                                               |
|-----------------------|---------------------------------------------------|
Z
zengyawen 已提交
864
| Promise<boolean\>     | 使用Promise的方式获取结果,返回true表示设备支持该焦距模式。 |
N
nikhilraut 已提交
865 866 867 868 869 870 871 872 873

**示例:**

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

Z
zengyawen 已提交
874
### setFocusMode
N
nikhilraut 已提交
875

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

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

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

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

**参数:**

| 名称       | 类型                    | 必填      | 说明                                |
|-----------|------------------------|-----------|------------------------------------|
Z
zengyawen 已提交
888 889
| afMode    | [FocusMode](#focusmode) | 是   | 指定的焦距模式。         |
| callback  | AsyncCallback<void\>   | 是       | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
890 891 892 893 894 895 896 897 898 899 900 901 902

**示例:**

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

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

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

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

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

**参数:**

| 名称       | 类型                                     | 必填      | 说明         |
|-----------|-----------------------------------------|-----------|-------------|
Z
zengyawen 已提交
917
| afMode    | [FocusMode](#focusmode) | 是   | 指定的焦距模式。 |
N
nikhilraut 已提交
918 919 920 921 922

**返回值:**

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

**示例:**

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

Z
zengyawen 已提交
933
### getFocusMode
N
nikhilraut 已提交
934

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

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

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

**参数:**

| 名称       | 类型                       | 必填      | 说明                                            |
|-----------|---------------------------|-----------|------------------------------------------------|
Z
zengyawen 已提交
945
| callback  | AsyncCallback<[FocusMode](#focusmode)\> | 是       | 回调函数,用于获取当前设备的焦距模式。 |
N
nikhilraut 已提交
946 947 948 949 950 951 952 953 954 955 956 957 958

**示例:**

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

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

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

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

**返回值:**

Z
zengyawen 已提交
969 970 971
| 类型                | 说明                                  |
| ------------------- | ------------------------------------- |
| Promise<FocusMode\> | 使用Promise的方式获取当前的焦距模式。 |
N
nikhilraut 已提交
972 973 974 975 976 977 978 979 980

**示例:**

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

Z
zengyawen 已提交
981
### getZoomRatioRange
N
nikhilraut 已提交
982

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

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

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

**参数:**

| 名称      | 类型                            | 必填      | 说明                                             |
|----------|--------------------------------|-----------|-------------------------------------------------|
Z
zengyawen 已提交
993
| callback | AsyncCallback<Array<number\>\> | 是       | 回调函数,用于获取结果。       |
N
nikhilraut 已提交
994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006

**示例:**

```
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 已提交
1007
### getZoomRatioRange
N
nikhilraut 已提交
1008

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

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

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

**返回值:**

| 类型                    | 说明                                         |
|------------------------|---------------------------------------------|
Z
zengyawen 已提交
1019
| Promise<Array<number\>\> | 使用Promise的方式获取当前的可变焦距比范围。 |
N
nikhilraut 已提交
1020 1021 1022 1023 1024 1025 1026 1027 1028

**示例:**

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

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

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

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

Z
zengyawen 已提交
1035
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1036 1037 1038 1039 1040

**参数:**

| 名称      | 类型                     | 必填      | 说明                                |
|-----------|------------------------|-----------|------------------------------------|
Z
zengyawen 已提交
1041 1042
| zoomRatio | number                 | 是       | 可变焦距比。                      |
| callback  | AsyncCallback<void\>   | 是       | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055

**示例:**

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

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

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

Z
zengyawen 已提交
1062
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1063 1064 1065 1066 1067

**参数:**

| 名称       | 类型     | 必填 | 说明 |
|-----------|----------|-----------|-------------|
Z
zengyawen 已提交
1068
| zoomRatio | number   | 是       | 可变焦距比。 |
N
nikhilraut 已提交
1069 1070 1071 1072 1073

**返回值:**

| 类型                   | 说明                                    |
|-----------------------|-----------------------------------------|
Z
zengyawen 已提交
1074
| Promise<void\>        | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1075 1076 1077 1078 1079 1080 1081 1082 1083

**示例:**

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

Z
zengyawen 已提交
1084
### getZoomRatio
N
nikhilraut 已提交
1085

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

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

Z
zengyawen 已提交
1090
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1091 1092 1093 1094 1095

**参数:**

| 名称       | 类型                       | 必填      | 说明                                                  |
|-----------|---------------------------|-----------|------------------------------------------------------|
Z
zengyawen 已提交
1096
| callback  | AsyncCallback<number\>    | 是       | 回调函数,用于获取结果。                   |
N
nikhilraut 已提交
1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109

**示例:**

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

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

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

Z
zengyawen 已提交
1116
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1117 1118 1119

**返回值:**

Z
zengyawen 已提交
1120 1121 1122
| 类型             | 说明                        |
| ---------------- | --------------------------- |
| Promise<number\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1123 1124 1125 1126 1127 1128 1129 1130 1131

**示例:**

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

Z
zengyawen 已提交
1132
### release
N
nikhilraut 已提交
1133

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

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

Z
zengyawen 已提交
1138
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1139 1140 1141 1142 1143

**参数:**

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

**示例:**

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

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

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

Z
zengyawen 已提交
1164
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1165 1166 1167 1168 1169

**返回值:**

| 类型           | 说明                                 |
|----------------|---------------------------------------------|
Z
zengyawen 已提交
1170
| Promise<void\> | 使用Promise的方式获取结果。     |
N
nikhilraut 已提交
1171 1172 1173 1174 1175 1176 1177 1178 1179

**示例:**

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

Z
zengyawen 已提交
1180
### on('focusStateChange')
N
nikhilraut 已提交
1181

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

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

Z
zengyawen 已提交
1186
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1187 1188 1189 1190 1191

**参数:**

| 名称     | 类型                   | 必填 | 说明                                     |
| :------- | :--------------------- | :-------- | :-----------------------------------------------|
Z
zengyawen 已提交
1192 1193
| type     | string                 | 是       | 监听事件,固定为'focusStateChange',即焦距状态变化事件。 |
| callback | AsyncCallback<[FocusState](#focusstate)\> | 是       | 回调函数,用于获取焦距状态。         |
N
nikhilraut 已提交
1194 1195 1196 1197 1198 1199 1200 1201 1202

**示例:**

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

Z
zengyawen 已提交
1203
### on('error')
N
nikhilraut 已提交
1204

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

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

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

**参数:**

| 名称     | 类型                   | 必填 | 说明                                     |
| :------- | :--------------------- | :-------- | :-----------------------------------------------|
Z
zengyawen 已提交
1215 1216
| type     | string                 | 是       | 监听事件,固定为'error'。                 |
| callback | ErrorCallback<CameraInputError\> | 是  | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1217 1218 1219 1220 1221 1222 1223 1224 1225 1226

**示例:**

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


Z
zengyawen 已提交
1227
## FlashMode
N
nikhilraut 已提交
1228

Z
zengyawen 已提交
1229
枚举,闪光灯模式。
N
nikhilraut 已提交
1230 1231 1232

| 名称                    | 默认值         | 说明                   |
|------------------------|---------------|------------------------|
Z
zengyawen 已提交
1233 1234 1235 1236
| FLASH_MODE_CLOSE       | 0             | 闪光灯关闭。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| FLASH_MODE_OPEN        | 1             | 闪光灯开启。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| FLASH_MODE_AUTO        | 2             | 自动闪光灯。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| FLASH_MODE_ALWAYS_OPEN | 3             | 闪光灯常亮。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
N
nikhilraut 已提交
1237

Z
zengyawen 已提交
1238
## FocusMode
N
nikhilraut 已提交
1239

Z
zengyawen 已提交
1240
枚举,焦距模式。
N
nikhilraut 已提交
1241 1242 1243

| 名称                        | 默认值         | 说明                        |
|----------------------------|---------------|----------------------------|
Z
zengyawen 已提交
1244 1245 1246 1247 1248 1249
| FOCUS_MODE_MANUAL          | 0             | 手动变焦模式。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| FOCUS_MODE_CONTINUOUS_AUTO | 1             | 连续自动变焦模式。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| FOCUS_MODE_AUTO            | 2             | 自动变焦模式。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| FOCUS_MODE_LOCKED          | 3             | 定焦模式。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |

## FocusState
N
nikhilraut 已提交
1250

Z
zengyawen 已提交
1251
枚举,焦距状态。
N
nikhilraut 已提交
1252

Z
zengyawen 已提交
1253 1254 1255 1256 1257
| 名称                  | 默认值 | 说明                                                         |
| --------------------- | ------ | ------------------------------------------------------------ |
| FOCUS_STATE_SCAN      | 0      | 扫描状态。<br/> 系统能力 : SystemCapability.Multimedia.Camera.Core |
| FOCUS_STATE_FOCUSED   | 1      | 相机已对焦。<br/> 系统能力 : SystemCapability.Multimedia.Camera.Core |
| FOCUS_STATE_UNFOCUSED | 2      | 相机未对焦。<br/> 系统能力 : SystemCapability.Multimedia.Camera.Core |
N
nikhilraut 已提交
1258

Z
zengyawen 已提交
1259
## camera.createCaptureSession
N
nikhilraut 已提交
1260

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

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

Z
zengyawen 已提交
1265
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1266 1267 1268 1269 1270

**参数:**

| 名称      | 类型                            | 必填      | 说明                                                |
|----------|--------------------------------|-----------|-----------------------------------------------------|
Z
zengyawen 已提交
1271 1272
| context  | Context                        | 是       | 应用上下文。                                         |
| callback | AsyncCallback<[CaptureSession](#capturesession)\> | 是       | 回调函数,用于获取CaptureSession实例。 |
N
nikhilraut 已提交
1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285

**示例:**

```
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 已提交
1286
## camera.createCaptureSession
N
nikhilraut 已提交
1287

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

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

Z
zengyawen 已提交
1292
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1293 1294 1295 1296 1297

**参数:**

| 名称      | 类型                          | 必填       | 说明                                                |
|----------|-------------------------------|-----------|-----------------------------------------------------|
Z
zengyawen 已提交
1298
| context  | Context                       | 是       | 应用上下文。                              |
N
nikhilraut 已提交
1299 1300 1301 1302 1303

**返回值:**

| 类型                       | 说明                                              |
|---------------------------|---------------------------------------------------|
Z
zengyawen 已提交
1304
| Promise<[CaptureSession](#capturesession)\> | 使用Promise的方式获取CaptureSession实例。 |
N
nikhilraut 已提交
1305 1306 1307 1308 1309 1310 1311 1312 1313

**示例:**

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

Z
zengyawen 已提交
1314
## CaptureSession
N
nikhilraut 已提交
1315

Z
zengyawen 已提交
1316
拍照会话类。
N
nikhilraut 已提交
1317

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

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

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

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

**参数:**

| 名称      | 类型                  | 必填      | 说明                                          |
|----------|----------------------|-----------|----------------------------------------------|
Z
zengyawen 已提交
1330
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。            |
N
nikhilraut 已提交
1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343

**示例:**

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

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

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

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

**返回值:**

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


**示例:**

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

Z
zengyawen 已提交
1367
### commitConfig
N
nikhilraut 已提交
1368

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

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

Z
zengyawen 已提交
1373
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1374 1375 1376 1377 1378

**参数:**

| 名称      | 类型                 | 必填      | 说明                                          |
|----------|---------------------|-----------|----------------------------------------------|
Z
zengyawen 已提交
1379
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392

**示例:**

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

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

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

Z
zengyawen 已提交
1399
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1400 1401 1402 1403 1404

**返回值:**

| 类型           | 说明                                         |
|---------------|---------------------------------------------|
Z
zengyawen 已提交
1405
| Promise<void\> | 使用Promise的方式获取结果。    |
N
nikhilraut 已提交
1406 1407 1408 1409 1410 1411 1412 1413 1414

**示例:**

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

Z
zengyawen 已提交
1415
### addInput
N
nikhilraut 已提交
1416

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

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

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

**参数:**

| 名称         | 类型                  | 必填      | 说明                                         |
|-------------|----------------------|-----------|---------------------------------------------|
Z
zengyawen 已提交
1427 1428
| cameraInput | [CameraInput](#camerainput) | 是       | 需要添加的CameraInput实例。         |
| callback    | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。         |
N
nikhilraut 已提交
1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441

**示例:**

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

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

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

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

**参数:**

| 名称         | 类型                 | 必填      | 说明                           |
|-------------|---------------------|-----------|-------------------------------|
Z
zengyawen 已提交
1454
| cameraInput | [CameraInput](#camerainput) | 是   | 需要添加的CameraInput实例。 |
N
nikhilraut 已提交
1455 1456 1457 1458 1459

**返回值:**

| 类型            | 说明                                |
|----------------|------------------------------------|
Z
zengyawen 已提交
1460
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1461 1462 1463 1464 1465 1466 1467 1468 1469

**示例:**

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

Z
zengyawen 已提交
1470
### addOutput
N
nikhilraut 已提交
1471

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

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

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

**参数:**

| 名称           | 类型                 | 必填       | 说明                                 |
|---------------|----------------------|-----------|-------------------------------------|
Z
zengyawen 已提交
1482 1483
| previewOutput | [PreviewOutput](#previewoutput) | 是       | 需要添加的PreviewOutput实例。 |
| callback      | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496

**示例:**

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

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

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

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

**参数:**

| 名称           | 类型                 | 必填      | 说明                            |
|---------------|---------------------|-----------|--------------------------------|
Z
zengyawen 已提交
1509
| previewOutput | [PreviewOutput](#previewoutput) | 是   | 需要添加的PreviewOutput实例。 |
N
nikhilraut 已提交
1510 1511 1512 1513 1514

**返回值:**

| 类型            | 说明                               |
|----------------|-----------------------------------|
Z
zengyawen 已提交
1515
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1516 1517 1518 1519 1520 1521 1522 1523 1524

**示例:**

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

Z
zengyawen 已提交
1525
### addOutput
N
nikhilraut 已提交
1526

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

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

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

**参数:**

| 名称           | 类型                | 必填       | 说明                                 |
|---------------|---------------------|-----------|-------------------------------------|
Z
zengyawen 已提交
1537 1538
| photoOutput   | [PhotoOutput](#photooutput) | 是       | 需要添加的PhotoOutput实例。 |
| callback      | AsyncCallback<void\> | 是      | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551

**示例:**

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

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

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

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

**参数:**

| 名称           | 类型                 | 必填      | 说明                            |
|---------------|---------------------|-----------|--------------------------------|
Z
zengyawen 已提交
1564
| photoOutput   | [PhotoOutput](#photooutput) | 是   | 需要添加的PhotoOutput实例。 |
N
nikhilraut 已提交
1565 1566 1567 1568 1569

**返回值:**

| 类型           | 说明                              |
|---------------|-----------------------------------|
Z
zengyawen 已提交
1570
| Promise\<void> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1571 1572 1573 1574 1575 1576 1577 1578 1579

**示例:**

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

Z
zengyawen 已提交
1580
### addOutput
N
nikhilraut 已提交
1581

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

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

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

**参数:**

| 名称           | 类型                 | 必填      | 说明                                 |
|---------------|---------------------|-----------|-------------------------------------|
Z
zengyawen 已提交
1592 1593
| videoOutput   | [VideoOutput](#videooutput) | 是       | 需要添加的VideoOutput实例。 |
| callback    | AsyncCallback<void\>        | 是   | 回调函数,用于获取结果。    |
N
nikhilraut 已提交
1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606

**示例:**

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

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

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

Z
zengyawen 已提交
1613
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1614 1615 1616

**参数:**

Z
zengyawen 已提交
1617 1618 1619
| 名称        | 类型                        | 必填 | 说明                        |
| ----------- | --------------------------- | ---- | --------------------------- |
| videoOutput | [VideoOutput](#videooutput) | 是   | 需要添加的VideoOutput实例。 |
N
nikhilraut 已提交
1620 1621 1622

**返回值:**

Z
zengyawen 已提交
1623 1624 1625
| 类型           | 说明                        |
| -------------- | --------------------------- |
| Promise\<void> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1626 1627 1628 1629 1630 1631 1632 1633 1634

**示例:**

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

Z
zengyawen 已提交
1635
### removeInput
N
nikhilraut 已提交
1636

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

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

Z
zengyawen 已提交
1641
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1642 1643 1644 1645 1646

**参数:**

| 名称         | 类型                  | 必填      | 说明                                |
|-------------|----------------------|-----------|------------------------------------|
Z
zengyawen 已提交
1647 1648
| cameraInput | [CameraInput](#camerainput) | 是   | 需要移除的CameraInput实例。 |
| callback    | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661

**示例:**

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

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

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

Z
zengyawen 已提交
1668
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1669 1670 1671 1672 1673

**参数:**

| 名称         | 类型                | 必填       | 说明                             |
|-------------|---------------------|-----------|---------------------------------|
Z
zengyawen 已提交
1674
| cameraInput | [CameraInput](#camerainput) | 是   | 需要移除的CameraInput实例。 |
N
nikhilraut 已提交
1675 1676 1677 1678 1679

**返回值:**

| 类型            | 说明                              |
|----------------|-----------------------------------|
Z
zengyawen 已提交
1680
| Promise\<void> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1681 1682 1683 1684 1685 1686 1687 1688 1689

**示例:**

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

Z
zengyawen 已提交
1690
### removeOutput
N
nikhilraut 已提交
1691

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

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

Z
zengyawen 已提交
1696
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1697 1698 1699 1700 1701

**参数:**

| 名称           | 类型                 | 必填       | 说明                                |
|---------------|----------------------|-----------|------------------------------------|
Z
zengyawen 已提交
1702 1703
| previewOutput | [PreviewOutput](#previewoutput) | 是       | 需要移除的PreviewOutput实例。 |
| callback      | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。 |
N
nikhilraut 已提交
1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716

**示例:**

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

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

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

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

**参数:**

| 名称           | 类型                | 必填       | 说明                               |
|---------------|---------------------|-----------|-----------------------------------|
Z
zengyawen 已提交
1729
| previewOutput | [PreviewOutput](#previewoutput) | 是   | 需要移除的PreviewOutput实例。 |
N
nikhilraut 已提交
1730 1731 1732 1733 1734 1735


**返回值:**

| 类型         | 说明                                 |
|---------------|---------------------------------------------|
Z
zengyawen 已提交
1736
| Promise<void\> | 使用Promise的方式获取结果。 |
N
nikhilraut 已提交
1737 1738 1739 1740 1741 1742 1743 1744 1745 1746


**示例:**

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

Z
zengyawen 已提交
1747
### removeOutput
N
nikhilraut 已提交
1748

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

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

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

**参数:**

| 名称           | 类型                 | 必填       | 说明                                |
|---------------|----------------------|-----------|------------------------------------|
Z
zengyawen 已提交
1759 1760
| photoOutput   | [PhotoOutput](#photooutput) | 是   | 需要添加的PhotoOutput实例。 |
| callback      | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。           |
N
nikhilraut 已提交
1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773

**示例:**

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

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

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

Z
zengyawen 已提交
1780
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1781 1782 1783 1784 1785

**参数:**

| 名称           | 类型                 | 必填      | 说明                             |
|---------------|---------------------|-----------|---------------------------------|
Z
zengyawen 已提交
1786
| photoOutput   | [PhotoOutput](#photooutput) | 是   | 需要添加的PhotoOutput实例。 |
N
nikhilraut 已提交
1787 1788 1789 1790 1791 1792


**返回值:**

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


**示例:**

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

Z
zengyawen 已提交
1804
### removeOutput
N
nikhilraut 已提交
1805

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

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

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

**参数:**

| 名称           | 类型                  | 必填      | 说明                                |
|---------------|----------------------|-----------|------------------------------------|
Z
zengyawen 已提交
1816 1817
| videoOutput   | [VideoOutput](#videooutput) | 是   | 需要添加的VideoOutput实例。 |
| callback      | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。           |
N
nikhilraut 已提交
1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830

**示例:**

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

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

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

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

**参数:**

| 名称           | 类型                | 必填       | 说明                             |
|---------------|---------------------|-----------|---------------------------------|
Z
zengyawen 已提交
1843
| videoOutput   | [VideoOutput](#videooutput) | 是   | 需要添加的VideoOutput实例。 |
N
nikhilraut 已提交
1844 1845 1846 1847 1848 1849


**返回值:**

| 类型            | 说明                                         |
|----------------|---------------------------------------------|
Z
zengyawen 已提交
1850
| Promise<void\> | 使用Promise的方式获取结果。                     |
N
nikhilraut 已提交
1851 1852 1853 1854 1855 1856 1857 1858 1859 1860


**示例:**

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

Z
zengyawen 已提交
1861
### start
N
nikhilraut 已提交
1862

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

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

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

**参数:**

| 名称      | 类型                 | 必填       | 说明                                          |
|----------|----------------------|-----------|----------------------------------------------|
Z
zengyawen 已提交
1873
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。                     |
N
nikhilraut 已提交
1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886

**示例:**

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

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

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

Z
zengyawen 已提交
1893
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1894 1895 1896 1897 1898

**返回值:**

| 类型            | 说明                              |
|----------------|-----------------------------------|
Z
zengyawen 已提交
1899
| Promise<void\> | 使用Promise的方式获取结果。           |
N
nikhilraut 已提交
1900 1901 1902 1903 1904 1905 1906 1907 1908

**示例:**

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

Z
zengyawen 已提交
1909
### stop
N
nikhilraut 已提交
1910

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

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

Z
zengyawen 已提交
1915
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1916 1917 1918 1919 1920 1921

**参数:**


| 名称      | 类型                 | 必填       | 说明                                |
|----------|----------------------|-----------|------------------------------------|
Z
zengyawen 已提交
1922
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。           |
N
nikhilraut 已提交
1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935

**示例:**

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

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

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

Z
zengyawen 已提交
1942
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1943 1944 1945 1946 1947

**返回值:**

| 类型            | 说明                              |
|----------------|-----------------------------------|
Z
zengyawen 已提交
1948
| Promise<void\> | 使用Promise的方式获取结果。           |
N
nikhilraut 已提交
1949 1950 1951 1952 1953 1954 1955 1956 1957

**示例:**

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

Z
zengyawen 已提交
1958
### release
N
nikhilraut 已提交
1959

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

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

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

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

N
nikhilraut 已提交
1968 1969
| 名称      | 类型                 | 必填       | 说明                                |
|----------|----------------------|-----------|------------------------------------|
Z
zengyawen 已提交
1970
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。           |
N
nikhilraut 已提交
1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983

**示例:**

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

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

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

Z
zengyawen 已提交
1990
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
1991 1992 1993 1994 1995

**返回值:**

| 类型            | 说明                                         |
|----------------|---------------------------------------------|
Z
zengyawen 已提交
1996
| Promise<void\> | 使用Promise的方式获取结果。                     |
N
nikhilraut 已提交
1997 1998 1999 2000 2001 2002 2003 2004 2005

**示例:**

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

Z
zengyawen 已提交
2006
### on('error')
N
nikhilraut 已提交
2007

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

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

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

**参数:**

| 名称     | 类型                   | 必填 | 说明                                     |
| :------- | :--------------------- | :-------- | :-----------------------------------------------|
Z
zengyawen 已提交
2018 2019
| type     | string                 | 是       | 监听事件,固定为'error'。                   |
| callback | ErrorCallback<CaptureSessionError\> | 是  | 回调函数,用于获取错误信息。 |
N
nikhilraut 已提交
2020 2021 2022 2023 2024 2025 2026 2027 2028

**示例:**

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

Z
zengyawen 已提交
2029
## camera.createPreviewOutput
N
nikhilraut 已提交
2030

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

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

Z
zengyawen 已提交
2035
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2036 2037 2038 2039 2040

**参数:**

| 名称        | 类型                          | 必填       | 说明                                                |
|------------|-------------------------------|-----------|----------------------------------------------------|
Z
zengyawen 已提交
2041 2042
| surfaceId  | string                        | 是       | 从XComponent组件获取的Surface ID。                   |
| callback   | AsyncCallback<[PreviewOutput](#previewoutput)\> | 是       | 回调函数,用于获取PreviewOutput实例。 |
N
nikhilraut 已提交
2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053

**示例:**

```
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 已提交
2054
```
N
nikhilraut 已提交
2055

Z
zengyawen 已提交
2056
## camera.createPreviewOutput
N
nikhilraut 已提交
2057

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

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

Z
zengyawen 已提交
2062
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2063 2064 2065 2066 2067

**参数:**

| 名称        | 类型             | 必填      | 说明                                                |
|------------|-----------------|-----------|----------------------------------------------------|
Z
zengyawen 已提交
2068
| surfaceId  | string          | 是       | 从XComponent组件获取的Surface ID。                   |
N
nikhilraut 已提交
2069 2070 2071 2072 2073

**返回值:**

| 类型                     | 说明                                               |
|-------------------------|---------------------------------------------------|
Z
zengyawen 已提交
2074
| Promise<[PreviewOutput](#previewoutput)\> | 使用Promise的方式获取结果。                           |
N
nikhilraut 已提交
2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085

**示例:**

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

## PreviewOutput

Z
zengyawen 已提交
2086
预览输出类。
N
nikhilraut 已提交
2087

Z
zengyawen 已提交
2088
### release
N
nikhilraut 已提交
2089

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

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

Z
zengyawen 已提交
2094
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2095 2096 2097 2098 2099

**参数:**

| 名称      | 类型                 | 必填       | 说明                                          |
|----------|----------------------|-----------|----------------------------------------------|
Z
zengyawen 已提交
2100
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。                     |
N
nikhilraut 已提交
2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113

**示例:**

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

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

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

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

**返回值:**

| 类型            | 说明                               |
|----------------|-----------------------------------|
Z
zengyawen 已提交
2126
| Promise<void\> | 使用Promise的方式获取结果。           |
N
nikhilraut 已提交
2127 2128 2129 2130 2131 2132 2133 2134 2135 2136


**示例:**

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

Z
zengyawen 已提交
2137
### on('frameStart')
N
nikhilraut 已提交
2138

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

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

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

**参数:**

| 名称      | 类型               | 必填      |  说明                               |
| :------- | :---------------- | :-------- | :----------------------------------|
Z
zengyawen 已提交
2149 2150
| type     | string            | 是       | 监听事件,固定为'frameStart',即帧启动事件。 |
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。           |
N
nikhilraut 已提交
2151 2152 2153 2154 2155 2156 2157 2158 2159

**示例:**

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

Z
zengyawen 已提交
2160
### on('frameEnd')
N
nikhilraut 已提交
2161

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

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

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

**参数:**

| 名称      | 类型               | 必填      | 说明                                |
| :------- | :---------------- | :-------- | :----------------------------------|
Z
zengyawen 已提交
2172 2173
| type     | string            | 是       | 监听事件,固定为'frameEnd',即帧结束事件。 |
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。           |
N
nikhilraut 已提交
2174 2175 2176 2177 2178 2179 2180 2181 2182

**示例:**

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

Z
zengyawen 已提交
2183
### on('error')
N
nikhilraut 已提交
2184

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

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

Z
zengyawen 已提交
2189
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2190 2191 2192 2193 2194

**参数:**

| 名称      | 类型                    | 必填      | 说明                                             |
| :------- | :--------------------- | :-------- | :-----------------------------------------------|
Z
zengyawen 已提交
2195 2196
| type     | string                 | 是       | 监听事件,固定为'error'。    |
| callback | ErrorCallback<PreviewOutputError\> | 是  | 回调函数,用于获取错误信息。 |
N
nikhilraut 已提交
2197 2198 2199 2200 2201 2202 2203 2204 2205

**示例:**

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

Z
zengyawen 已提交
2206
## camera.createPhotoOutput
N
nikhilraut 已提交
2207

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

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

Z
zengyawen 已提交
2212
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2213 2214 2215 2216 2217

**参数:**

| 名称        | 类型                          | 必填       | 说明                                                |
|------------|-------------------------------|-----------|----------------------------------------------------|
Z
zengyawen 已提交
2218 2219
| surfaceId  | string                        | 是       | 从ImageReceiver获取的Surface ID。                   |
| callback   | AsyncCallback<[PhotoOutput](#photooutput)\> | 是       | 回调函数,用于获取PhotoOutput实例。              |
N
nikhilraut 已提交
2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230

**示例:**

```
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 已提交
2231
```
N
nikhilraut 已提交
2232

Z
zengyawen 已提交
2233
## camera.createPhotoOutput
N
nikhilraut 已提交
2234

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

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

Z
zengyawen 已提交
2239
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2240 2241 2242 2243 2244

**参数:**

| 名称        | 类型             | 必填      | 说明                                                |
|------------|-----------------|-----------|----------------------------------------------------|
Z
zengyawen 已提交
2245
| surfaceId  | string          | 是       | 从ImageReceiver获取的Surface ID。                    |
N
nikhilraut 已提交
2246 2247 2248 2249 2250

**返回值:**

| 类型                     | 说明                                             |
|-------------------------|--------------------------------------------------|
Z
zengyawen 已提交
2251
| Promise<[PhotoOutput](#photooutput)\> | 使用Promise的方式获取PhotoOutput实例。             |
N
nikhilraut 已提交
2252 2253 2254 2255 2256 2257 2258 2259

**示例:**

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

Z
zengyawen 已提交
2262
枚举,图片旋转角度。
N
nikhilraut 已提交
2263 2264 2265

| 名称          | 默认值         | 说明                                    |
|--------------|---------------|----------------------------------------|
Z
zengyawen 已提交
2266 2267 2268 2269
| ROTATION_0   | 0             | 图片旋转0度。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| ROTATION_90  | 90            | 图片旋转90度。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| ROTATION_180 | 180           | 图片旋转180度。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| ROTATION_270 | 270           | 图片旋转270度。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
N
nikhilraut 已提交
2270

Z
zengyawen 已提交
2271
## QualityLevel
N
nikhilraut 已提交
2272

Z
zengyawen 已提交
2273
枚举,图片质量。
N
nikhilraut 已提交
2274 2275 2276

| 名称                  | 默认值         | 说明                  |
|----------------------|---------------|----------------------|
Z
zengyawen 已提交
2277 2278 2279
| QUALITY_LEVEL_HIGH   | 0             | 图片质量高。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| QUALITY_LEVEL_MEDIUM | 1             | 图片质量中等。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| QUALITY_LEVEL_LOW    | 2             | 图片质量差。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
N
nikhilraut 已提交
2280 2281


Z
zengyawen 已提交
2282
## PhotoCaptureSetting
N
nikhilraut 已提交
2283

Z
zengyawen 已提交
2284
拍摄照片的设置。
N
nikhilraut 已提交
2285 2286 2287

| 名称      | 类型          | 必填       | 说明                 |
|----------|---------------|-----------|---------------------|
Z
zengyawen 已提交
2288 2289
| quality  | [QualityLevel](#qualitylevel) | 否 | 图片质量。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
| rotation | [ImageRotation](#imagerotation) | 否 | 图片旋转角度。<br/>**系统能力:** SystemCapability.Multimedia.Camera.Core |
N
nikhilraut 已提交
2290 2291


Z
zengyawen 已提交
2292
## PhotoOutput
N
nikhilraut 已提交
2293

Z
zengyawen 已提交
2294
照片输出类。
N
nikhilraut 已提交
2295

Z
zengyawen 已提交
2296
### capture
N
nikhilraut 已提交
2297

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

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

Z
zengyawen 已提交
2302
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2303 2304 2305 2306 2307

**参数:**

| 名称      | 类型                 | 必填      | 说明                                          |
|----------|---------------------|-----------|----------------------------------------------|
Z
zengyawen 已提交
2308
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。                    |
N
nikhilraut 已提交
2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321

**示例:**

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

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

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

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

**参数:**

| 名称      | 类型                 | 必填       | 说明                                          |
|----------|----------------------|-----------|----------------------------------------------|
Z
zengyawen 已提交
2334 2335
| setting  | [PhotoCaptureSetting](#photocapturesetting) | 是       | 拍照设置。                                     |
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。                     |
N
nikhilraut 已提交
2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348

**示例:**

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

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

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

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

**参数:**

| 名称      | 类型                 | 必填      | 说明                                          |
|----------|---------------------|-----------|----------------------------------------------|
Z
zengyawen 已提交
2361
| setting  | [PhotoCaptureSetting](#photocapturesetting) | 否   | 拍照设置。 |
N
nikhilraut 已提交
2362 2363 2364 2365 2366

**返回值:**

| 类型            | 说明                                         |
|----------------|---------------------------------------------|
Z
zengyawen 已提交
2367
| Promise<void\> | 使用Promise的方式获取结果。                     |
N
nikhilraut 已提交
2368 2369 2370 2371 2372 2373 2374 2375 2376 2377


**示例:**

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

Z
zengyawen 已提交
2378
### release
N
nikhilraut 已提交
2379

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

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

Z
zengyawen 已提交
2384
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2385 2386 2387 2388 2389

**参数:**

| 名称      | 类型                 | 必填       | 说明                                          |
|----------|----------------------|-----------|----------------------------------------------|
Z
zengyawen 已提交
2390
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。                     |
N
nikhilraut 已提交
2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403

**示例:**

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

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

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

Z
zengyawen 已提交
2410
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2411 2412 2413 2414 2415

**返回值:**

| 类型            | 说明                                         |
|----------------|---------------------------------------------|
Z
zengyawen 已提交
2416
| Promise<void\> | 使用Promise的方式获取结果。                     |
N
nikhilraut 已提交
2417 2418 2419 2420 2421 2422 2423 2424 2425 2426


**示例:**

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

Z
zengyawen 已提交
2427
### on('captureStart')
N
nikhilraut 已提交
2428

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

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

Z
zengyawen 已提交
2433
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2434 2435 2436 2437 2438

**参数:**

| 名称     | 类型                   | 必填 | 说明                                     |
| :------- | :--------------------- | :-------- | :-----------------------------------------------|
Z
zengyawen 已提交
2439 2440
| type     | string                 | 是       | 监听事件,固定为'captureStart',即拍照启动事件。 |
| callback | AsyncCallback<number\> | 是       | 使用callback的方式获取Capture ID。                 |
N
nikhilraut 已提交
2441 2442 2443 2444 2445 2446 2447 2448 2449

**示例:**

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

Z
zengyawen 已提交
2450
### on('frameShutter')
N
nikhilraut 已提交
2451

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

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

Z
zengyawen 已提交
2456
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2457 2458 2459 2460 2461

**参数:**

| 名称      | 类型                    | 必填      | 说明                                             |
| :------- | :--------------------- | :-------- | :-----------------------------------------------|
Z
zengyawen 已提交
2462 2463
| type     | string                 | 是       | 监听事件,固定为'frameShutter',即帧刷新事件。 |
| callback | AsyncCallback<FrameShutterInfo\> | 是   | 回调函数,用于获取相关信息。                  |
N
nikhilraut 已提交
2464 2465 2466 2467 2468 2469 2470 2471 2472 2473

**示例:**

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

Z
zengyawen 已提交
2474
### on('captureEnd')
N
nikhilraut 已提交
2475

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

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

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

**参数:**

| 名称     | 类型                   | 必填 | 说明                                     |
| :------- | :--------------------- | :-------- | :-----------------------------------------------|
Z
zengyawen 已提交
2486 2487
| type     | string                 | 是       | 监听事件,固定为'captureEnd',即拍照停止事件。 |
| callback | AsyncCallback<CaptureEndInfo\> | 是    | 回调函数,用于获取相关信息。   |
N
nikhilraut 已提交
2488 2489 2490 2491 2492 2493 2494 2495 2496 2497

**示例:**

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

Z
zengyawen 已提交
2498
### on('error')
N
nikhilraut 已提交
2499

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

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

Z
zengyawen 已提交
2504
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2505 2506 2507 2508 2509

**参数:**

| 名称     | 类型                   | 必填 | 说明                                     |
| :------- | :--------------------- | :-------- | :-----------------------------------------------|
Z
zengyawen 已提交
2510 2511
| type     | string                 | 是       | 监听事件,固定为'error'。    |
| callback | ErrorCallback<PhotoOutputError\> | 是  | 回调函数,用于获取错误信息。 |
N
nikhilraut 已提交
2512 2513 2514 2515 2516 2517 2518 2519 2520

**示例:**

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

Z
zengyawen 已提交
2521
## camera.createVideoOutput
N
nikhilraut 已提交
2522

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

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

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

**参数:**

| 名称        | 类型                           | 必填      | 说明                                                |
|------------|-------------------------------|-----------|----------------------------------------------------|
Z
zengyawen 已提交
2533
| surfaceId  | string                        | 是       | 从VideoRecorder获取的Surface ID。                   |
Z
zengyawen 已提交
2534
| callback   | AsyncCallback<[VideoOutput](#videooutput)\> | 是       | 回调函数,用于获取VideoOutput实例。    |
N
nikhilraut 已提交
2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545

**示例:**

```
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 已提交
2546
```
N
nikhilraut 已提交
2547

Z
zengyawen 已提交
2548
## camera.createVideoOutput
N
nikhilraut 已提交
2549

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

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

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

**参数:**

| 名称        | 类型            | 必填       | 说明                                                |
|------------|-----------------|-----------|----------------------------------------------------|
Z
zengyawen 已提交
2560
| surfaceId  | string          | 是       | 从VideoRecorder获取的Surface ID。                   |
N
nikhilraut 已提交
2561 2562 2563

**返回值:**

Z
zengyawen 已提交
2564 2565 2566
| 类型                  | 说明                                   |
| --------------------- | -------------------------------------- |
| Promise<PhotoOutput\> | 使用Promise的方式获取VideoOutput实例。 |
N
nikhilraut 已提交
2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577

**示例:**

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

## VideoOutput

Z
zengyawen 已提交
2578
视频输出类。
N
nikhilraut 已提交
2579

Z
zengyawen 已提交
2580
### start
N
nikhilraut 已提交
2581

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

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

Z
zengyawen 已提交
2586
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2587 2588 2589 2590 2591

**参数:**

| 名称      | 类型                  | 必填      | 说明                                          |
|----------|----------------------|-----------|----------------------------------------------|
Z
zengyawen 已提交
2592
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。                     |
N
nikhilraut 已提交
2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605

**示例:**

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

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

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

Z
zengyawen 已提交
2612
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2613 2614 2615 2616 2617

**返回值:**

| 类型            | 说明                                         |
|----------------|---------------------------------------------|
Z
zengyawen 已提交
2618
| Promise<void\> | 使用Promise的方式获取结果。                     |
N
nikhilraut 已提交
2619 2620 2621 2622 2623 2624 2625 2626 2627 2628


**示例:**

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

Z
zengyawen 已提交
2629
### stop
N
nikhilraut 已提交
2630

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

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

Z
zengyawen 已提交
2635
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2636 2637 2638 2639 2640

**参数:**

| 名称      | 类型                 | 必填       | 说明                                          |
|----------|----------------------|-----------|----------------------------------------------|
Z
zengyawen 已提交
2641
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。                     |
N
nikhilraut 已提交
2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654

**示例:**

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

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

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

Z
zengyawen 已提交
2661
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2662 2663 2664 2665 2666

**返回值:**

| 类型            | 说明                                         |
|----------------|---------------------------------------------|
Z
zengyawen 已提交
2667
| Promise<void\> | 使用Promise的方式获取结果。                     |
N
nikhilraut 已提交
2668 2669 2670 2671 2672 2673 2674 2675 2676

**示例:**

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

Z
zengyawen 已提交
2677
### release
N
nikhilraut 已提交
2678

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

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

Z
zengyawen 已提交
2683
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2684 2685

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

N
nikhilraut 已提交
2687 2688
| 名称      | 类型                 | 必填       | 说明                                          |
|----------|----------------------|-----------|----------------------------------------------|
Z
zengyawen 已提交
2689
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。                     |
N
nikhilraut 已提交
2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702

**示例:**

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

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

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

Z
zengyawen 已提交
2709
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2710 2711 2712 2713 2714

**返回值:**

| 类型            | 说明                                         |
|----------------|---------------------------------------------|
Z
zengyawen 已提交
2715
| Promise<void\> | 使用Promise的方式获取结果。                     |
N
nikhilraut 已提交
2716 2717 2718 2719 2720 2721 2722 2723 2724 2725


**示例:**

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

Z
zengyawen 已提交
2726
### on('frameStart')
N
nikhilraut 已提交
2727

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

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

Z
zengyawen 已提交
2732
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2733 2734 2735 2736 2737

**参数:**

| 名称      | 类型               | 必填      | 说明                                |
| :------- | :---------------- | :-------- | :----------------------------------|
Z
zengyawen 已提交
2738 2739
| type     | string            | 是       | 监听事件,固定为'frameStart',即视频帧开启事件。 |
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。           |
N
nikhilraut 已提交
2740 2741 2742 2743 2744 2745 2746 2747 2748

**示例:**

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

Z
zengyawen 已提交
2749
### on('frameEnd')
N
nikhilraut 已提交
2750

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

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

Z
zengyawen 已提交
2755
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2756 2757 2758 2759 2760

**参数:**

| 名称      | 类型               | 必填      | 说明                                |
| :------- | :---------------- | :-------- | :----------------------------------|
Z
zengyawen 已提交
2761 2762
| type     | string            | 是       | 监听事件,固定为'frameEnd',即视频帧结束事件。 |
| callback | AsyncCallback<void\> | 是       | 回调函数,用于获取结果。           |
N
nikhilraut 已提交
2763 2764 2765 2766 2767 2768 2769 2770 2771

**示例:**

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

Z
zengyawen 已提交
2772
### on('error')
N
nikhilraut 已提交
2773

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

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

Z
zengyawen 已提交
2778
**系统能力:** SystemCapability.Multimedia.Camera.Core
N
nikhilraut 已提交
2779 2780 2781 2782 2783

**参数:**

| 名称      | 类型                    | 必填      | 说明                                             |
| :------- | :--------------------- | :-------- | :-----------------------------------------------|
Z
zengyawen 已提交
2784 2785
| type     | string                 | 是       | 监听事件,固定为'error'。                      |
| callback | Callback<VideoOutputError\> | 是  | 回调函数,用于获取错误信息。 |
N
nikhilraut 已提交
2786 2787 2788 2789 2790 2791 2792 2793

**示例:**

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