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