• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# camera_manager.h
2<!--Kit: Camera Kit-->
3<!--Subsystem: Multimedia-->
4<!--Owner: @qano-->
5<!--Designer: @leo_ysl-->
6<!--Tester: @xchaosioda-->
7<!--Adviser: @zengyawen-->
8
9## 概述
10
11声明相机管理器的概念。
12
13**引用文件:** <ohcamera/camera_manager.h>
14
15**库:** libohcamera.so
16
17**系统能力:** SystemCapability.Multimedia.Camera.Core
18
19**起始版本:** 11
20
21**相关模块:** [OH_Camera](capi-oh-camera.md)
22
23## 汇总
24
25### 结构体
26
27| 名称 | typedef关键字 | 描述 |
28| -- | -- | -- |
29| [CameraManager_Callbacks](capi-oh-camera-cameramanager-callbacks.md) | CameraManager_Callbacks | 相机设备状态的回调。 |
30
31### 函数
32
33| 名称 | typedef关键字 | 描述 |
34| -- | -- | -- |
35| [typedef void (\*OH_CameraManager_StatusCallback)(Camera_Manager* cameraManager, Camera_StatusInfo* status)](#oh_cameramanager_statuscallback) | OH_CameraManager_StatusCallback | 在[CameraManager_Callbacks](capi-oh-camera-cameramanager-callbacks.md)中被调用的相机管理器状态回调。 |
36| [typedef void (\*OH_CameraManager_TorchStatusCallback)(Camera_Manager* cameraManager, Camera_TorchStatusInfo* status)](#oh_cameramanager_torchstatuscallback) | OH_CameraManager_TorchStatusCallback | 手电筒状态变化回调。 |
37| [typedef void (\*OH_CameraManager_OnFoldStatusInfoChange)(Camera_Manager* cameraManager, Camera_FoldStatusInfo* foldStatusInfo)](#oh_cameramanager_onfoldstatusinfochange) | OH_CameraManager_OnFoldStatusInfoChange | 相机管理器折叠状态信息回调。 |
38| [Camera_ErrorCode OH_CameraManager_RegisterCallback(Camera_Manager* cameraManager, CameraManager_Callbacks* callback)](#oh_cameramanager_registercallback) | - | 注册相机状态更改事件回调。 |
39| [Camera_ErrorCode OH_CameraManager_UnregisterCallback(Camera_Manager* cameraManager, CameraManager_Callbacks* callback)](#oh_cameramanager_unregistercallback) | - | 注销相机状态更改事件回调。 |
40| [Camera_ErrorCode OH_CameraManager_RegisterTorchStatusCallback(Camera_Manager* cameraManager, OH_CameraManager_TorchStatusCallback torchStatusCallback)](#oh_cameramanager_registertorchstatuscallback) | - | 注册手电筒状态变更事件回调。 |
41| [Camera_ErrorCode OH_CameraManager_UnregisterTorchStatusCallback(Camera_Manager* cameraManager, OH_CameraManager_TorchStatusCallback torchStatusCallback)](#oh_cameramanager_unregistertorchstatuscallback) | - | 注销手电筒状态变更事件回调。 |
42| [Camera_ErrorCode OH_CameraManager_RegisterFoldStatusInfoCallback(Camera_Manager* cameraManager, OH_CameraManager_OnFoldStatusInfoChange foldStatusInfoCallback)](#oh_cameramanager_registerfoldstatusinfocallback) | - | 注册折叠状态信息变更事件回调。 |
43| [Camera_ErrorCode OH_CameraManager_UnregisterFoldStatusInfoCallback(Camera_Manager* cameraManager, OH_CameraManager_OnFoldStatusInfoChange foldStatusInfoCallback)](#oh_cameramanager_unregisterfoldstatusinfocallback) | - | 注销折叠状态信息变更事件回调。 |
44| [Camera_ErrorCode OH_CameraManager_GetSupportedCameras(Camera_Manager* cameraManager, Camera_Device** cameras, uint32_t* size)](#oh_cameramanager_getsupportedcameras) | - | 获取支持指定的相机设备实例。 |
45| [Camera_ErrorCode OH_CameraManager_DeleteSupportedCameras(Camera_Manager* cameraManager, Camera_Device* cameras, uint32_t size)](#oh_cameramanager_deletesupportedcameras) | - | 删除支持的相机。 |
46| [Camera_ErrorCode OH_CameraManager_GetSupportedCameraOutputCapability(Camera_Manager* cameraManager, const Camera_Device* camera, Camera_OutputCapability** cameraOutputCapability)](#oh_cameramanager_getsupportedcameraoutputcapability) | - | 查询指定相机支持的输出能力。 |
47| [Camera_ErrorCode OH_CameraManager_GetSupportedCameraOutputCapabilityWithSceneMode(Camera_Manager* cameraManager, const Camera_Device* camera, Camera_SceneMode sceneMode, Camera_OutputCapability** cameraOutputCapability)](#oh_cameramanager_getsupportedcameraoutputcapabilitywithscenemode) | - | 查询指定相机在指定模式下支持的输出能力。 |
48| [Camera_ErrorCode OH_CameraManager_DeleteSupportedCameraOutputCapability(Camera_Manager* cameraManager, Camera_OutputCapability* cameraOutputCapability)](#oh_cameramanager_deletesupportedcameraoutputcapability) | - | 删除支持的输出功能。 |
49| [Camera_ErrorCode OH_CameraManager_IsCameraMuted(Camera_Manager* cameraManager, bool* isCameraMuted)](#oh_cameramanager_iscameramuted) | - | 确定相机是否静音。 |
50| [Camera_ErrorCode OH_CameraManager_CreateCaptureSession(Camera_Manager* cameraManager, Camera_CaptureSession** captureSession)](#oh_cameramanager_createcapturesession) | - | 创建捕获会话实例。 |
51| [Camera_ErrorCode OH_CameraManager_CreateCameraInput(Camera_Manager* cameraManager, const Camera_Device* camera, Camera_Input** cameraInput)](#oh_cameramanager_createcamerainput) | - | 创建相机输入实例。 |
52| [Camera_ErrorCode OH_CameraManager_CreateCameraInput_WithPositionAndType(Camera_Manager* cameraManager, Camera_Position position, Camera_Type type, Camera_Input** cameraInput)](#oh_cameramanager_createcamerainput_withpositionandtype) | - | 创建具有位置和类型的相机输入实例。 |
53| [Camera_ErrorCode OH_CameraManager_CreatePreviewOutput(Camera_Manager* cameraManager, const Camera_Profile* profile, const char* surfaceId, Camera_PreviewOutput** previewOutput)](#oh_cameramanager_createpreviewoutput) | - | 创建预览输出实例。 |
54| [Camera_ErrorCode OH_CameraManager_CreatePreviewOutputUsedInPreconfig(Camera_Manager* cameraManager, const char* surfaceId, Camera_PreviewOutput** previewOutput)](#oh_cameramanager_createpreviewoutputusedinpreconfig) | - | 创建在预配置流中使用的预览输出实例。 |
55| [Camera_ErrorCode OH_CameraManager_CreatePhotoOutput(Camera_Manager* cameraManager, const Camera_Profile* profile, const char* surfaceId, Camera_PhotoOutput** photoOutput)](#oh_cameramanager_createphotooutput) | - | 创建一个拍照输出实例。 |
56| [Camera_ErrorCode OH_CameraManager_CreatePhotoOutputUsedInPreconfig(Camera_Manager* cameraManager, const char* surfaceId, Camera_PhotoOutput** photoOutput)](#oh_cameramanager_createphotooutputusedinpreconfig) | - | 创建在预配置流中使用的照片输出实例。 |
57| [Camera_ErrorCode OH_CameraManager_CreatePhotoOutputWithoutSurface(Camera_Manager *cameraManager, const Camera_Profile *profile, Camera_PhotoOutput **photoOutput)](#oh_cameramanager_createphotooutputwithoutsurface) | - | 创建照片输出实例,调用此函数不需要surfaceId。 |
58| [Camera_ErrorCode OH_CameraManager_CreateVideoOutput(Camera_Manager* cameraManager, const Camera_VideoProfile* profile,const char* surfaceId, Camera_VideoOutput** videoOutput)](#oh_cameramanager_createvideooutput) | - | 创建一个录像输出实例。 |
59| [Camera_ErrorCode OH_CameraManager_CreateVideoOutputUsedInPreconfig(Camera_Manager* cameraManager, const char* surfaceId, Camera_VideoOutput** videoOutput)](#oh_cameramanager_createvideooutputusedinpreconfig) | - | 创建在预配置流中使用的视频输出实例。 |
60| [Camera_ErrorCode OH_CameraManager_CreateMetadataOutput(Camera_Manager* cameraManager, const Camera_MetadataObjectType* profile, Camera_MetadataOutput** metadataOutput)](#oh_cameramanager_createmetadataoutput) | - | 创建元数据输出实例。 |
61| [Camera_ErrorCode OH_CameraManager_GetSupportedSceneModes(Camera_Device* camera, Camera_SceneMode** sceneModes, uint32_t* size)](#oh_cameramanager_getsupportedscenemodes) | - | 获取特定相机支持的场景模式。 |
62| [Camera_ErrorCode OH_CameraManager_DeleteSceneModes(Camera_Manager* cameraManager, Camera_SceneMode* sceneModes)](#oh_cameramanager_deletescenemodes) | - | 删除场景模式。 |
63| [Camera_ErrorCode OH_CameraManager_IsTorchSupported(Camera_Manager* cameraManager, bool* isTorchSupported)](#oh_cameramanager_istorchsupported) | - | 检查设备是否支持手电筒。 |
64| [Camera_ErrorCode OH_CameraManager_IsTorchSupportedByTorchMode(Camera_Manager* cameraManager, Camera_TorchMode torchMode, bool* isTorchSupported)](#oh_cameramanager_istorchsupportedbytorchmode) | - | 检查设备是否支持指定的手电筒模式。 |
65| [Camera_ErrorCode OH_CameraManager_SetTorchMode(Camera_Manager* cameraManager, Camera_TorchMode torchMode)](#oh_cameramanager_settorchmode) | - | 设置相机手电筒模式。 |
66| [Camera_ErrorCode OH_CameraManager_GetCameraDevice(Camera_Manager* cameraManager, Camera_Position position, Camera_Type type, Camera_Device* camera)](#oh_cameramanager_getcameradevice) | - | 根据相机位置和相机类型查询指定的相机。 |
67| [Camera_ErrorCode OH_CameraManager_GetCameraConcurrentInfos(Camera_Manager* cameraManager, const Camera_Device* camera, uint32_t deviceSize, Camera_ConcurrentInfo** cameraConcurrentInfo, uint32_t* infoSize)](#oh_cameramanager_getcameraconcurrentinfos) | - | 获取指定相机的并发信息。 |
68
69## 函数说明
70
71### OH_CameraManager_StatusCallback()
72
73```
74typedef void (*OH_CameraManager_StatusCallback)(Camera_Manager* cameraManager, Camera_StatusInfo* status)
75```
76
77**描述**
78
79在[CameraManager_Callbacks](capi-oh-camera-cameramanager-callbacks.md)中被调用的相机管理器状态回调。
80
81**起始版本:** 11
82
83
84**参数:**
85
86| 参数项 | 描述 |
87| -- | -- |
88| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 传递回调的Camera_Manager。 |
89| [Camera_StatusInfo](capi-oh-camera-camera-statusinfo.md)* status | 每个相机设备的状态信息。 |
90
91### OH_CameraManager_TorchStatusCallback()
92
93```
94typedef void (*OH_CameraManager_TorchStatusCallback)(Camera_Manager* cameraManager, Camera_TorchStatusInfo* status)
95```
96
97**描述**
98
99手电筒状态变化回调。
100
101**起始版本:** 12
102
103
104**参数:**
105
106| 参数项 | 描述 |
107| -- | -- |
108| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 传递回调的Camera_Manager。 |
109| [Camera_TorchStatusInfo](capi-oh-camera-camera-torchstatusinfo.md)* status | 手电筒的状态信息。 |
110
111### OH_CameraManager_OnFoldStatusInfoChange()
112
113```
114typedef void (*OH_CameraManager_OnFoldStatusInfoChange)(Camera_Manager* cameraManager, Camera_FoldStatusInfo* foldStatusInfo)
115```
116
117**描述**
118
119相机管理器折叠状态信息回调。
120
121**起始版本:** 13
122
123
124**参数:**
125
126| 参数项 | 描述 |
127| -- | -- |
128| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 传递回调的Camera_Manager。 |
129| [Camera_FoldStatusInfo](capi-oh-camera-camera-foldstatusinfo.md)* foldStatusInfo | 设备的折叠状态信息。 |
130
131### OH_CameraManager_RegisterCallback()
132
133```
134Camera_ErrorCode OH_CameraManager_RegisterCallback(Camera_Manager* cameraManager, CameraManager_Callbacks* callback)
135```
136
137**描述**
138
139注册相机状态更改事件回调。
140
141**起始版本:** 11
142
143
144**参数:**
145
146| 参数项 | 描述 |
147| -- | -- |
148| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
149| [CameraManager_Callbacks](capi-oh-camera-cameramanager-callbacks.md)* callback | 要注册的相机设备状态回调。 |
150
151**返回:**
152
153| 类型 | 说明 |
154| -- | -- |
155| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
156
157### OH_CameraManager_UnregisterCallback()
158
159```
160Camera_ErrorCode OH_CameraManager_UnregisterCallback(Camera_Manager* cameraManager, CameraManager_Callbacks* callback)
161```
162
163**描述**
164
165注销相机状态更改事件回调。
166
167**起始版本:** 11
168
169
170**参数:**
171
172| 参数项 | 描述 |
173| -- | -- |
174| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
175| [CameraManager_Callbacks](capi-oh-camera-cameramanager-callbacks.md)* callback | 要注销的相机设备状态回调。 |
176
177**返回:**
178
179| 类型 | 说明 |
180| -- | -- |
181| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
182
183### OH_CameraManager_RegisterTorchStatusCallback()
184
185```
186Camera_ErrorCode OH_CameraManager_RegisterTorchStatusCallback(Camera_Manager* cameraManager,OH_CameraManager_TorchStatusCallback torchStatusCallback)
187```
188
189**描述**
190
191注册手电筒状态变更事件回调。
192
193**起始版本:** 12
194
195
196**参数:**
197
198| 参数项 | 描述 |
199| -- | -- |
200| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
201| [OH_CameraManager_TorchStatusCallback](#oh_cameramanager_torchstatuscallback) torchStatusCallback | 要注册的手电筒状态变化回调。 |
202
203**返回:**
204
205| 类型 | 说明 |
206| -- | -- |
207| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
208
209### OH_CameraManager_UnregisterTorchStatusCallback()
210
211```
212Camera_ErrorCode OH_CameraManager_UnregisterTorchStatusCallback(Camera_Manager* cameraManager,OH_CameraManager_TorchStatusCallback torchStatusCallback)
213```
214
215**描述**
216
217注销手电筒状态变更事件回调。
218
219**起始版本:** 12
220
221
222**参数:**
223
224| 参数项 | 描述 |
225| -- | -- |
226| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
227| [OH_CameraManager_TorchStatusCallback](#oh_cameramanager_torchstatuscallback) torchStatusCallback | 要注销的手电筒状态变化回调。 |
228
229**返回:**
230
231| 类型 | 说明 |
232| -- | -- |
233| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
234
235### OH_CameraManager_RegisterFoldStatusInfoCallback()
236
237```
238Camera_ErrorCode OH_CameraManager_RegisterFoldStatusInfoCallback(Camera_Manager* cameraManager,OH_CameraManager_OnFoldStatusInfoChange foldStatusInfoCallback)
239```
240
241**描述**
242
243注册折叠状态信息变更事件回调。
244
245**起始版本:** 13
246
247
248**参数:**
249
250| 参数项 | 描述 |
251| -- | -- |
252| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
253| [OH_CameraManager_OnFoldStatusInfoChange](#oh_cameramanager_onfoldstatusinfochange) foldStatusInfoCallback | 要注册的折叠状态信息变更事件回调。 |
254
255**返回:**
256
257| 类型 | 说明 |
258| -- | -- |
259| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
260
261### OH_CameraManager_UnregisterFoldStatusInfoCallback()
262
263```
264Camera_ErrorCode OH_CameraManager_UnregisterFoldStatusInfoCallback(Camera_Manager* cameraManager,OH_CameraManager_OnFoldStatusInfoChange foldStatusInfoCallback)
265```
266
267**描述**
268
269注销折叠状态信息变更事件回调。
270
271**起始版本:** 13
272
273
274**参数:**
275
276| 参数项 | 描述 |
277| -- | -- |
278| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
279| [OH_CameraManager_OnFoldStatusInfoChange](#oh_cameramanager_onfoldstatusinfochange) foldStatusInfoCallback | 要注销的折叠状态信息变更事件回调。 |
280
281**返回:**
282
283| 类型 | 说明 |
284| -- | -- |
285| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
286
287### OH_CameraManager_GetSupportedCameras()
288
289```
290Camera_ErrorCode OH_CameraManager_GetSupportedCameras(Camera_Manager* cameraManager, Camera_Device** cameras, uint32_t* size)
291```
292
293**描述**
294
295获取支持指定的相机设备实例。
296
297**起始版本:** 11
298
299
300**参数:**
301
302| 参数项 | 描述 |
303| -- | -- |
304| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
305| [Camera_Device](capi-oh-camera-camera-device.md)** cameras | 如果方法调用成功,将记录支持的Camera_Device列表。 |
306| uint32_t* size | 如果方法调用成功,将记录支持的Camera_Device列表的大小。 |
307
308**返回:**
309
310| 类型 | 说明 |
311| -- | -- |
312| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
313
314### OH_CameraManager_DeleteSupportedCameras()
315
316```
317Camera_ErrorCode OH_CameraManager_DeleteSupportedCameras(Camera_Manager* cameraManager, Camera_Device* cameras, uint32_t size)
318```
319
320**描述**
321
322删除支持的相机。
323
324**起始版本:** 11
325
326
327**参数:**
328
329| 参数项 | 描述 |
330| -- | -- |
331| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
332| [Camera_Device](capi-oh-camera-camera-device.md)* cameras | 要删除的Camera_Device列表。 |
333| uint32_t size | 要删除的相机设备数量。 |
334
335**返回:**
336
337| 类型 | 说明 |
338| -- | -- |
339| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
340
341### OH_CameraManager_GetSupportedCameraOutputCapability()
342
343```
344Camera_ErrorCode OH_CameraManager_GetSupportedCameraOutputCapability(Camera_Manager* cameraManager, const Camera_Device* camera, Camera_OutputCapability** cameraOutputCapability)
345```
346
347**描述**
348
349查询指定相机支持的输出能力。
350
351**起始版本:** 11
352
353
354**参数:**
355
356| 参数项 | 描述 |
357| -- | -- |
358| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
359| const [Camera_Device](capi-oh-camera-camera-device.md)* camera | 要查询的Camera_Device。 |
360| [Camera_OutputCapability](capi-oh-camera-camera-outputcapability.md)** cameraOutputCapability | 如果方法调用成功,将记录支持的Camera_OutputCapability。 |
361
362**返回:**
363
364| 类型 | 说明 |
365| -- | -- |
366| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
367
368### OH_CameraManager_GetSupportedCameraOutputCapabilityWithSceneMode()
369
370```
371Camera_ErrorCode OH_CameraManager_GetSupportedCameraOutputCapabilityWithSceneMode(Camera_Manager* cameraManager, const Camera_Device* camera, Camera_SceneMode sceneMode, Camera_OutputCapability** cameraOutputCapability)
372```
373
374**描述**
375
376查询指定相机在指定模式下支持的输出能力。
377
378**起始版本:** 12
379
380
381**参数:**
382
383| 参数项 | 描述 |
384| -- | -- |
385| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
386| const [Camera_Device](capi-oh-camera-camera-device.md)* camera | 要查询的Camera_Device。 |
387| [Camera_SceneMode](capi-camera-h.md#camera_scenemode) sceneMode | 指定相机模式。 |
388| [Camera_OutputCapability](capi-oh-camera-camera-outputcapability.md)** cameraOutputCapability | 如果方法调用成功,将记录支持的Camera_OutputCapability列表。 |
389
390**返回:**
391
392| 类型 | 说明 |
393| -- | -- |
394| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
395
396### OH_CameraManager_DeleteSupportedCameraOutputCapability()
397
398```
399Camera_ErrorCode OH_CameraManager_DeleteSupportedCameraOutputCapability(Camera_Manager* cameraManager, Camera_OutputCapability* cameraOutputCapability)
400```
401
402**描述**
403
404删除支持的输出功能。
405
406**起始版本:** 11
407
408
409**参数:**
410
411| 参数项 | 描述 |
412| -- | -- |
413| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
414| [Camera_OutputCapability](capi-oh-camera-camera-outputcapability.md)* cameraOutputCapability | 要删除的Camera_OutputCapability。 |
415
416**返回:**
417
418| 类型 | 说明 |
419| -- | -- |
420| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
421
422### OH_CameraManager_IsCameraMuted()
423
424```
425Camera_ErrorCode OH_CameraManager_IsCameraMuted(Camera_Manager* cameraManager, bool* isCameraMuted)
426```
427
428**描述**
429
430确定相机是否静音。
431
432**起始版本:** 11
433
434
435**参数:**
436
437| 参数项 | 描述 |
438| -- | -- |
439| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
440| bool* isCameraMuted | 如果方法调用成功,将返回相机是否静音的结果。返回true表示相机已静音,返回false表示未静音。 |
441
442**返回:**
443
444| 类型 | 说明 |
445| -- | -- |
446| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
447
448### OH_CameraManager_CreateCaptureSession()
449
450```
451Camera_ErrorCode OH_CameraManager_CreateCaptureSession(Camera_Manager* cameraManager, Camera_CaptureSession** captureSession)
452```
453
454**描述**
455
456创建捕获会话实例。
457
458**起始版本:** 11
459
460
461**参数:**
462
463| 参数项 | 描述 |
464| -- | -- |
465| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
466| [Camera_CaptureSession](capi-oh-camera-camera-capturesession.md)** captureSession | 如果方法调用成功,将创建Camera_CaptureSession。 |
467
468**返回:**
469
470| 类型 | 说明 |
471| -- | -- |
472| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
473
474### OH_CameraManager_CreateCameraInput()
475
476```
477Camera_ErrorCode OH_CameraManager_CreateCameraInput(Camera_Manager* cameraManager, const Camera_Device* camera, Camera_Input** cameraInput)
478```
479
480**描述**
481
482创建相机输入实例。
483
484**需要权限:** ohos.permission.CAMERA
485
486**起始版本:** 11
487
488
489**参数:**
490
491| 参数项 | 描述 |
492| -- | -- |
493| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
494| const [Camera_Device](capi-oh-camera-camera-device.md)* camera | 用于创建Camera_Input实例的Camera_Device。 |
495| [Camera_Input](capi-oh-camera-camera-input.md)** cameraInput | 如果方法调用成功,将创建Camera_Input实例。 |
496
497**返回:**
498
499| 类型 | 说明 |
500| -- | -- |
501| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
502
503### OH_CameraManager_CreateCameraInput_WithPositionAndType()
504
505```
506Camera_ErrorCode OH_CameraManager_CreateCameraInput_WithPositionAndType(Camera_Manager* cameraManager, Camera_Position position, Camera_Type type, Camera_Input** cameraInput)
507```
508
509**描述**
510
511创建具有位置和类型的相机输入实例。
512
513**需要权限:** ohos.permission.CAMERA
514
515**起始版本:** 11
516
517
518**参数:**
519
520| 参数项 | 描述 |
521| -- | -- |
522| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
523| [Camera_Position](capi-camera-h.md#camera_position) position | 用于创建Camera_Input实例的相机位置。 |
524| [Camera_Type](capi-camera-h.md#camera_type) type | 用于创建Camera_Input实例的相机类型。 |
525| [Camera_Input](capi-oh-camera-camera-input.md)** cameraInput | 如果方法调用成功,将创建Camera_Input实例。 |
526
527**返回:**
528
529| 类型 | 说明 |
530| -- | -- |
531| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
532
533### OH_CameraManager_CreatePreviewOutput()
534
535```
536Camera_ErrorCode OH_CameraManager_CreatePreviewOutput(Camera_Manager* cameraManager, const Camera_Profile* profile, const char* surfaceId, Camera_PreviewOutput** previewOutput)
537```
538
539**描述**
540
541创建预览输出实例。
542
543**起始版本:** 11
544
545
546**参数:**
547
548| 参数项 | 描述 |
549| -- | -- |
550| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
551| const [Camera_Profile](capi-oh-camera-camera-profile.md)* profile | 用于创建Camera_PreviewOutput实例的相机流配置文件。 |
552| const char* surfaceId | 用于创建Camera_PreviewOutput实例的surfaceId。 |
553| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)** previewOutput | 如果方法调用成功,将创建Camera_PreviewOutput实例。 |
554
555**返回:**
556
557| 类型 | 说明 |
558| -- | -- |
559| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
560
561### OH_CameraManager_CreatePreviewOutputUsedInPreconfig()
562
563```
564Camera_ErrorCode OH_CameraManager_CreatePreviewOutputUsedInPreconfig(Camera_Manager* cameraManager, const char* surfaceId, Camera_PreviewOutput** previewOutput)
565```
566
567**描述**
568
569创建在预配置流中使用的预览输出实例。
570
571**起始版本:** 12
572
573
574**参数:**
575
576| 参数项 | 描述 |
577| -- | -- |
578| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
579| const char* surfaceId | 用于创建Camera_PreviewOutput实例的surfaceId。 |
580| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)** previewOutput | 如果方法调用成功,将创建Camera_PreviewOutput实例。 |
581
582**返回:**
583
584| 类型 | 说明 |
585| -- | -- |
586| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
587
588### OH_CameraManager_CreatePhotoOutput()
589
590```
591Camera_ErrorCode OH_CameraManager_CreatePhotoOutput(Camera_Manager* cameraManager, const Camera_Profile* profile, const char* surfaceId, Camera_PhotoOutput** photoOutput)
592```
593
594**描述**
595
596创建一个拍照输出实例。
597
598**起始版本:** 11
599
600
601**参数:**
602
603| 参数项 | 描述 |
604| -- | -- |
605| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
606| const [Camera_Profile](capi-oh-camera-camera-profile.md)* profile | 用于创建Camera_PhotoOutput实例的相机流配置文件。 |
607| const char* surfaceId | 用于创建Camera_PhotoOutput实例的surfaceId。 |
608| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)** photoOutput | 如果方法调用成功,将创建Camera_PhotoOutput实例。 |
609
610**返回:**
611
612| 类型 | 说明 |
613| -- | -- |
614| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
615
616### OH_CameraManager_CreatePhotoOutputUsedInPreconfig()
617
618```
619Camera_ErrorCode OH_CameraManager_CreatePhotoOutputUsedInPreconfig(Camera_Manager* cameraManager, const char* surfaceId, Camera_PhotoOutput** photoOutput)
620```
621
622**描述**
623
624创建在预配置流中使用的照片输出实例。
625
626**起始版本:** 12
627
628
629**参数:**
630
631| 参数项 | 描述 |
632| -- | -- |
633| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
634| const char* surfaceId | 用于创建Camera_PhotoOutput实例的surfaceId。 |
635| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)** photoOutput | 如果方法调用成功,将创建Camera_PhotoOutput实例。 |
636
637**返回:**
638
639| 类型 | 说明 |
640| -- | -- |
641| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
642
643### OH_CameraManager_CreatePhotoOutputWithoutSurface()
644
645```
646Camera_ErrorCode OH_CameraManager_CreatePhotoOutputWithoutSurface(Camera_Manager *cameraManager, const Camera_Profile *profile, Camera_PhotoOutput **photoOutput)
647```
648
649**描述**
650
651创建照片输出实例,调用此函数不需要surfaceId。
652
653**起始版本:** 12
654
655
656**参数:**
657
658| 参数项 | 描述 |
659| -- | -- |
660| [Camera_Manager](capi-oh-camera-camera-manager.md) *cameraManager | 相机管理器实例。 |
661| const [Camera_Profile](capi-oh-camera-camera-profile.md) *profile | 用于创建Camera_PhotoOutput实例的相机流配置文件。 |
662| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md) **photoOutput | 如果方法调用成功,将创建Camera_PhotoOutput实例。 |
663
664**返回:**
665
666| 类型 | 说明 |
667| -- | -- |
668| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
669
670### OH_CameraManager_CreateVideoOutput()
671
672```
673Camera_ErrorCode OH_CameraManager_CreateVideoOutput(Camera_Manager* cameraManager, const Camera_VideoProfile* profile, const char* surfaceId, Camera_VideoOutput** videoOutput)
674```
675
676**描述**
677
678创建一个录像输出实例。
679
680**起始版本:** 11
681
682
683**参数:**
684
685| 参数项 | 描述 |
686| -- | -- |
687| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
688| const [Camera_VideoProfile](capi-oh-camera-camera-videoprofile.md)* profile | 用于创建Camera_VideoOutput实例的录像配置文件。 |
689| const char* surfaceId | 用于创建Camera_VideoOutput实例的surfaceId。 |
690| [Camera_VideoOutput](capi-oh-camera-camera-videooutput.md)** videoOutput | 如果方法调用成功,将创建Camera_VideoOutput实例。 |
691
692**返回:**
693
694| 类型 | 说明 |
695| -- | -- |
696| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
697
698### OH_CameraManager_CreateVideoOutputUsedInPreconfig()
699
700```
701Camera_ErrorCode OH_CameraManager_CreateVideoOutputUsedInPreconfig(Camera_Manager* cameraManager, const char* surfaceId, Camera_VideoOutput** videoOutput)
702```
703
704**描述**
705
706创建在预配置流中使用的视频输出实例。
707
708**起始版本:** 12
709
710
711**参数:**
712
713| 参数项 | 描述 |
714| -- | -- |
715| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
716| const char* surfaceId | 用于创建Camera_VideoOutput实例的surfaceId。 |
717| [Camera_VideoOutput](capi-oh-camera-camera-videooutput.md)** videoOutput | 如果方法调用成功,将创建Camera_VideoOutput实例。 |
718
719**返回:**
720
721| 类型 | 说明 |
722| -- | -- |
723| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
724
725### OH_CameraManager_CreateMetadataOutput()
726
727```
728Camera_ErrorCode OH_CameraManager_CreateMetadataOutput(Camera_Manager* cameraManager, const Camera_MetadataObjectType* profile, Camera_MetadataOutput** metadataOutput)
729```
730
731**描述**
732
733创建元数据输出实例。
734
735**起始版本:** 11
736
737
738**参数:**
739
740| 参数项 | 描述 |
741| -- | -- |
742| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
743| const [Camera_MetadataObjectType](capi-camera-h.md#camera_metadataobjecttype)* profile | 用于创建Camera_MetadataOutput实例的元数据对象类型。 |
744| [Camera_MetadataOutput](capi-oh-camera-camera-metadataoutput.md)** metadataOutput | 如果方法调用成功,将创建Camera_MetadataOutput实例。 |
745
746**返回:**
747
748| 类型 | 说明 |
749| -- | -- |
750| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
751
752### OH_CameraManager_GetSupportedSceneModes()
753
754```
755Camera_ErrorCode OH_CameraManager_GetSupportedSceneModes(Camera_Device* camera, Camera_SceneMode** sceneModes, uint32_t* size)
756```
757
758**描述**
759
760获取特定相机支持的场景模式。
761
762**起始版本:** 12
763
764
765**参数:**
766
767| 参数项 | 描述 |
768| -- | -- |
769| [Camera_Device](capi-oh-camera-camera-device.md)* camera | 要查询的Camera_Device。 |
770| [Camera_SceneMode](capi-camera-h.md#camera_scenemode)** sceneModes | 如果方法调用成功,将记录支持的场景模式列表。 |
771| uint32_t* size | 如果方法调用成功,将记录支持的场景模式列表大小。 |
772
773**返回:**
774
775| 类型 | 说明 |
776| -- | -- |
777| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
778
779### OH_CameraManager_DeleteSceneModes()
780
781```
782Camera_ErrorCode OH_CameraManager_DeleteSceneModes(Camera_Manager* cameraManager, Camera_SceneMode* sceneModes)
783```
784
785**描述**
786
787删除场景模式。
788
789**起始版本:** 12
790
791
792**参数:**
793
794| 参数项 | 描述 |
795| -- | -- |
796| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
797| [Camera_SceneMode](capi-camera-h.md#camera_scenemode)* sceneModes | 要删除的场景模式列表。 |
798
799**返回:**
800
801| 类型 | 说明 |
802| -- | -- |
803| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
804
805### OH_CameraManager_IsTorchSupported()
806
807```
808Camera_ErrorCode OH_CameraManager_IsTorchSupported(Camera_Manager* cameraManager,bool* isTorchSupported)
809```
810
811**描述**
812
813检查设备是否支持手电筒。
814
815**起始版本:** 12
816
817
818**参数:**
819
820| 参数项 | 描述 |
821| -- | -- |
822| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
823| bool* isTorchSupported | 设备是否支持手电筒。返回true表示设备支持手电筒,返回false表示不支持。 |
824
825**返回:**
826
827| 类型 | 说明 |
828| -- | -- |
829| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
830
831### OH_CameraManager_IsTorchSupportedByTorchMode()
832
833```
834Camera_ErrorCode OH_CameraManager_IsTorchSupportedByTorchMode(Camera_Manager* cameraManager, Camera_TorchMode torchMode, bool* isTorchSupported)
835```
836
837**描述**
838
839检查设备是否支持指定的手电筒模式。
840
841**起始版本:** 12
842
843
844**参数:**
845
846| 参数项 | 描述 |
847| -- | -- |
848| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
849| [Camera_TorchMode](capi-camera-h.md#camera_torchmode) torchMode | 要检查的相机手电筒模式。 |
850| bool* isTorchSupported | 设备是否支持指定的手电筒模式。返回true表示设备支持该模式,返回false表示不支持。 |
851
852**返回:**
853
854| 类型 | 说明 |
855| -- | -- |
856| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
857
858### OH_CameraManager_SetTorchMode()
859
860```
861Camera_ErrorCode OH_CameraManager_SetTorchMode(Camera_Manager* cameraManager, Camera_TorchMode torchMode)
862```
863
864**描述**
865
866设置相机手电筒模式。
867
868**起始版本:** 12
869
870
871**参数:**
872
873| 参数项 | 描述 |
874| -- | -- |
875| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
876| [Camera_TorchMode](capi-camera-h.md#camera_torchmode) torchMode | 要设置的相机手电筒模式。 |
877
878**返回:**
879
880| 类型 | 说明 |
881| -- | -- |
882| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
883
884### OH_CameraManager_GetCameraDevice()
885
886```
887Camera_ErrorCode OH_CameraManager_GetCameraDevice(Camera_Manager* cameraManager, Camera_Position position, Camera_Type type, Camera_Device* camera)
888```
889
890**描述**
891
892根据相机位置和相机类型查询指定的相机。
893
894**起始版本:** 18
895
896
897**参数:**
898
899| 参数项 | 描述 |
900| -- | -- |
901| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
902| [Camera_Position](capi-camera-h.md#camera_position) position | 要查询的相机位置。 |
903| [Camera_Type](capi-camera-h.md#camera_type) type | 要查询的相机类型。 |
904| [Camera_Device](capi-oh-camera-camera-device.md)* camera | 要查询的Camera_Device。 |
905
906**返回:**
907
908| 类型 | 说明 |
909| -- | -- |
910| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
911
912### OH_CameraManager_GetCameraConcurrentInfos()
913
914```
915Camera_ErrorCode OH_CameraManager_GetCameraConcurrentInfos(Camera_Manager* cameraManager, const Camera_Device* camera, uint32_t deviceSize, Camera_ConcurrentInfo** cameraConcurrentInfo, uint32_t* infoSize)
916```
917
918**描述**
919
920获取指定相机的并发信息。
921
922**起始版本:** 18
923
924
925**参数:**
926
927| 参数项 | 描述 |
928| -- | -- |
929| [Camera_Manager](capi-oh-camera-camera-manager.md)* cameraManager | 相机管理器实例。 |
930| const [Camera_Device](capi-oh-camera-camera-device.md)* camera | 用于查询的Camera_Device相机设备列表,推荐设置为包含[OH_CameraManager_GetCameraDevice](#oh_cameramanager_getcameradevice)获取的前置与后置两个相机设备的相机设备列表。 |
931| uint32_t deviceSize | 用于查询的相机设备列表长度, 必须设置为2(表示前置与后置两个用于并发的相机设备)。 |
932| [Camera_ConcurrentInfo](capi-oh-camera-camera-concurrentinfo.md)** cameraConcurrentInfo | 查询到的相机并发能力数组Camera_ConcurrentInfo,作为入参应当默认设置为空。<br> 如果相机支持并发,cameraConcurrentInfo会被赋值为查询到的相机并发能力数组Camera_ConcurrentInfo。<br> 如果相机不支持并发,不会对cameraConcurrentInfo进行更改,并且返回错误码[Camera_ErrorCode](capi-camera-h.md#camera_errorcode).CAMERA_SERVICE_FATAL_ERROR。 |
933| uint32_t* infoSize | 查询到的相机并发能力数组长度,作为入参应当默认设置为0。<br> 如果相机支持并发,infoSize会被赋值为查询到的相机并发能力数组长度。<br> 如果相机不支持并发,不会对infoSize进行更改,并且返回错误码[Camera_ErrorCode](capi-camera-h.md#camera_errorcode).CAMERA_SERVICE_FATAL_ERROR。 |
934
935**返回:**
936
937| 类型 | 说明 |
938| -- | -- |
939| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误,或者相机不支持并发。 |
940
941
942