1# photo_output.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/photo_output.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| [PhotoOutput_Callbacks](capi-oh-camera-photooutput-callbacks.md) | PhotoOutput_Callbacks | 拍照输出的回调。 | 30| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md) | Camera_PhotoOutput | 拍照输出对象。<br> 可以使用[OH_CameraManager_CreatePhotoOutput](capi-camera-manager-h.md#oh_cameramanager_createphotooutput)方法创建指针。 | 31 32### 函数 33 34| 名称 | typedef关键字 | 描述 | 35| -- | -- | -- | 36| [typedef void (\*OH_PhotoOutput_OnFrameStart)(Camera_PhotoOutput* photoOutput)](#oh_photooutput_onframestart) | OH_PhotoOutput_OnFrameStart | 在[PhotoOutput_Callbacks](capi-oh-camera-photooutput-callbacks.md)中被调用的拍照输出帧启动回调。 | 37| [typedef void (\*OH_PhotoOutput_OnFrameShutter)(Camera_PhotoOutput* photoOutput, Camera_FrameShutterInfo* info)](#oh_photooutput_onframeshutter) | OH_PhotoOutput_OnFrameShutter | 在[PhotoOutput_Callbacks](capi-oh-camera-photooutput-callbacks.md)中被调用的拍照输出帧快门回调。 | 38| [typedef void (\*OH_PhotoOutput_OnFrameEnd)(Camera_PhotoOutput* photoOutput, int32_t frameCount)](#oh_photooutput_onframeend) | OH_PhotoOutput_OnFrameEnd | 在[PhotoOutput_Callbacks](capi-oh-camera-photooutput-callbacks.md)中被调用的拍照输出帧结束回调。 | 39| [typedef void (\*OH_PhotoOutput_OnError)(Camera_PhotoOutput* photoOutput, Camera_ErrorCode errorCode)](#oh_photooutput_onerror) | OH_PhotoOutput_OnError | 在[PhotoOutput_Callbacks](capi-oh-camera-photooutput-callbacks.md)中被调用的拍照输出错误回调。 | 40| [typedef void (\*OH_PhotoOutput_CaptureEnd)(Camera_PhotoOutput* photoOutput, int32_t frameCount)](#oh_photooutput_captureend) | OH_PhotoOutput_CaptureEnd | 拍照结束回调。 | 41| [typedef void (\*OH_PhotoOutput_CaptureStartWithInfo)(Camera_PhotoOutput* photoOutput, Camera_CaptureStartInfo* Info)](#oh_photooutput_capturestartwithinfo) | OH_PhotoOutput_CaptureStartWithInfo | 拍照开始回调。 | 42| [typedef void (\*OH_PhotoOutput_OnFrameShutterEnd)(Camera_PhotoOutput* photoOutput, Camera_FrameShutterInfo* Info)](#oh_photooutput_onframeshutterend) | OH_PhotoOutput_OnFrameShutterEnd | 拍照曝光结束回调。 | 43| [typedef void (\*OH_PhotoOutput_CaptureReady)(Camera_PhotoOutput* photoOutput)](#oh_photooutput_captureready) | OH_PhotoOutput_CaptureReady | 拍照准备就绪回调。收到回调后,可以继续进行下一次拍照。 | 44| [typedef void (\*OH_PhotoOutput_EstimatedCaptureDuration)(Camera_PhotoOutput* photoOutput, int64_t duration)](#oh_photooutput_estimatedcaptureduration) | OH_PhotoOutput_EstimatedCaptureDuration | 预计拍照时间回调。 | 45| [typedef void (\*OH_PhotoOutput_PhotoAvailable)(Camera_PhotoOutput* photoOutput, OH_PhotoNative* photo)](#oh_photooutput_photoavailable) | OH_PhotoOutput_PhotoAvailable | 照片输出可用高分辨率图像回调。 | 46| [typedef void (\*OH_PhotoOutput_PhotoAssetAvailable)(Camera_PhotoOutput* photoOutput, OH_MediaAsset* photoAsset)](#oh_photooutput_photoassetavailable) | OH_PhotoOutput_PhotoAssetAvailable | 输出照片资源可用回调。 | 47| [Camera_ErrorCode OH_PhotoOutput_RegisterCallback(Camera_PhotoOutput* photoOutput, PhotoOutput_Callbacks* callback)](#oh_photooutput_registercallback) | - | 注册拍照输出更改事件回调。 | 48| [Camera_ErrorCode OH_PhotoOutput_UnregisterCallback(Camera_PhotoOutput* photoOutput, PhotoOutput_Callbacks* callback)](#oh_photooutput_unregistercallback) | - | 注销拍照输出更改事件回调。 | 49| [Camera_ErrorCode OH_PhotoOutput_RegisterCaptureStartWithInfoCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureStartWithInfo callback)](#oh_photooutput_registercapturestartwithinfocallback) | - | 注册拍照开始事件回调。 | 50| [Camera_ErrorCode OH_PhotoOutput_GetPhotoRotation(Camera_PhotoOutput* photoOutput, int deviceDegree, Camera_ImageRotation* imageRotation)](#oh_photooutput_getphotorotation) | - | 获取照片旋转角度。 | 51| [Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureStartWithInfoCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureStartWithInfo callback)](#oh_photooutput_unregistercapturestartwithinfocallback) | - | 注销拍照开始事件回调。 | 52| [Camera_ErrorCode OH_PhotoOutput_RegisterCaptureEndCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureEnd callback)](#oh_photooutput_registercaptureendcallback) | - | 注册拍照结束事件回调。 | 53| [Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureEndCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureEnd callback)](#oh_photooutput_unregistercaptureendcallback) | - | 注销拍照结束事件回调。 | 54| [Camera_ErrorCode OH_PhotoOutput_RegisterFrameShutterEndCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_OnFrameShutterEnd callback)](#oh_photooutput_registerframeshutterendcallback) | - | 注册拍照曝光结束事件回调。 | 55| [Camera_ErrorCode OH_PhotoOutput_UnregisterFrameShutterEndCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_OnFrameShutterEnd callback)](#oh_photooutput_unregisterframeshutterendcallback) | - | 注销拍照曝光结束事件回调。 | 56| [Camera_ErrorCode OH_PhotoOutput_RegisterCaptureReadyCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureReady callback)](#oh_photooutput_registercapturereadycallback) | - | 注册拍照就绪事件回调。收到回调后,可以继续进行下一次拍照。 | 57| [Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureReadyCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_CaptureReady callback)](#oh_photooutput_unregistercapturereadycallback) | - | 注销拍照就绪事件回调。 | 58| [Camera_ErrorCode OH_PhotoOutput_RegisterEstimatedCaptureDurationCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_EstimatedCaptureDuration callback)](#oh_photooutput_registerestimatedcapturedurationcallback) | - | 注册预计拍照时间事件回调。 | 59| [Camera_ErrorCode OH_PhotoOutput_UnregisterEstimatedCaptureDurationCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_EstimatedCaptureDuration callback)](#oh_photooutput_unregisterestimatedcapturedurationcallback) | - | 注销预计拍照时间事件回调。 | 60| [Camera_ErrorCode OH_PhotoOutput_RegisterPhotoAvailableCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_PhotoAvailable callback)](#oh_photooutput_registerphotoavailablecallback) | - | 注册输出照片可用回调。 | 61| [Camera_ErrorCode OH_PhotoOutput_UnregisterPhotoAvailableCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_PhotoAvailable callback)](#oh_photooutput_unregisterphotoavailablecallback) | - | 注销输出照片可用回调。 | 62| [Camera_ErrorCode OH_PhotoOutput_RegisterPhotoAssetAvailableCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_PhotoAssetAvailable callback)](#oh_photooutput_registerphotoassetavailablecallback) | - | 注册输出照片资源可用回调。 | 63| [Camera_ErrorCode OH_PhotoOutput_UnregisterPhotoAssetAvailableCallback(Camera_PhotoOutput* photoOutput, OH_PhotoOutput_PhotoAssetAvailable callback)](#oh_photooutput_unregisterphotoassetavailablecallback) | - | 注销输出照片资源可用回调。 | 64| [Camera_ErrorCode OH_PhotoOutput_Capture(Camera_PhotoOutput* photoOutput)](#oh_photooutput_capture) | - | 拍摄照片。<br> 必须在[OH_PreviewOutput_Release](capi-preview-output-h.md#oh_previewoutput_release)之前调用,否则会导致无法拍照。 | 65| [Camera_ErrorCode OH_PhotoOutput_Capture_WithCaptureSetting(Camera_PhotoOutput* photoOutput, Camera_PhotoCaptureSetting setting)](#oh_photooutput_capture_withcapturesetting) | - | 使用捕获设置捕获拍照。 | 66| [Camera_ErrorCode OH_PhotoOutput_Release(Camera_PhotoOutput* photoOutput)](#oh_photooutput_release) | - | 释放拍照输出。 | 67| [Camera_ErrorCode OH_PhotoOutput_IsMirrorSupported(Camera_PhotoOutput* photoOutput, bool* isSupported)](#oh_photooutput_ismirrorsupported) | - | 检查是否支持镜像拍照。 | 68| [Camera_ErrorCode OH_PhotoOutput_EnableMirror(Camera_PhotoOutput* photoOutput, bool enabled)](#oh_photooutput_enablemirror) | - | 是否启用动态照片镜像拍照。 | 69| [Camera_ErrorCode OH_PhotoOutput_GetActiveProfile(Camera_PhotoOutput* photoOutput, Camera_Profile** profile)](#oh_photooutput_getactiveprofile) | - | 获取当前照片输出配置文件。 | 70| [Camera_ErrorCode OH_PhotoOutput_DeleteProfile(Camera_Profile* profile)](#oh_photooutput_deleteprofile) | - | 删除照片配置文件实例。 | 71| [Camera_ErrorCode OH_PhotoOutput_IsMovingPhotoSupported(Camera_PhotoOutput* photoOutput, bool* isSupported)](#oh_photooutput_ismovingphotosupported) | - | 检查是否支持动态照片。 | 72| [Camera_ErrorCode OH_PhotoOutput_EnableMovingPhoto(Camera_PhotoOutput* photoOutput, bool enabled)](#oh_photooutput_enablemovingphoto) | - | 是否启用动态照片。 | 73 74## 函数说明 75 76### OH_PhotoOutput_OnFrameStart() 77 78``` 79typedef void (*OH_PhotoOutput_OnFrameStart)(Camera_PhotoOutput* photoOutput) 80``` 81 82**描述** 83 84在[PhotoOutput_Callbacks](capi-oh-camera-photooutput-callbacks.md)中被调用的拍照输出帧启动回调。 85 86**起始版本:** 11 87 88 89**参数:** 90 91| 参数项 | 描述 | 92| -- | -- | 93| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 传递回调的拍照输出实例。 | 94 95### OH_PhotoOutput_OnFrameShutter() 96 97``` 98typedef void (*OH_PhotoOutput_OnFrameShutter)(Camera_PhotoOutput* photoOutput, Camera_FrameShutterInfo* info) 99``` 100 101**描述** 102 103在[PhotoOutput_Callbacks](capi-oh-camera-photooutput-callbacks.md)中被调用的拍照输出帧快门回调。 104 105**起始版本:** 11 106 107 108**参数:** 109 110| 参数项 | 描述 | 111| -- | -- | 112| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 传递回调的拍照输出实例。 | 113| [Camera_FrameShutterInfo](capi-oh-camera-camera-frameshutterinfo.md)* info | 回调传递的帧快门回调信息。 | 114 115### OH_PhotoOutput_OnFrameEnd() 116 117``` 118typedef void (*OH_PhotoOutput_OnFrameEnd)(Camera_PhotoOutput* photoOutput, int32_t frameCount) 119``` 120 121**描述** 122 123在[PhotoOutput_Callbacks](capi-oh-camera-photooutput-callbacks.md)中被调用的拍照输出帧结束回调。 124 125**起始版本:** 11 126 127 128**参数:** 129 130| 参数项 | 描述 | 131| -- | -- | 132| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 传递回调的拍照输出实例。 | 133| int32_t frameCount | 回调传递的帧计数。 | 134 135### OH_PhotoOutput_OnError() 136 137``` 138typedef void (*OH_PhotoOutput_OnError)(Camera_PhotoOutput* photoOutput, Camera_ErrorCode errorCode) 139``` 140 141**描述** 142 143在[PhotoOutput_Callbacks](capi-oh-camera-photooutput-callbacks.md)中被调用的拍照输出错误回调。 144 145**起始版本:** 11 146 147 148**参数:** 149 150| 参数项 | 描述 | 151| -- | -- | 152| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 传递回调的拍照输出实例。 | 153| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) errorCode | 拍照输出的错误码。 | 154 155**参考:** 156 157[CAMERA_SERVICE_FATAL_ERROR](capi-camera-h.md#camera_errorcode) 158 159### OH_PhotoOutput_CaptureEnd() 160 161``` 162typedef void (*OH_PhotoOutput_CaptureEnd)(Camera_PhotoOutput* photoOutput, int32_t frameCount) 163``` 164 165**描述** 166 167拍照结束回调。 168 169**起始版本:** 12 170 171 172**参数:** 173 174| 参数项 | 描述 | 175| -- | -- | 176| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 传递回调的拍照输出实例。 | 177| int32_t frameCount | 回调传递的帧数。 | 178 179### OH_PhotoOutput_CaptureStartWithInfo() 180 181``` 182typedef void (*OH_PhotoOutput_CaptureStartWithInfo)(Camera_PhotoOutput* photoOutput, Camera_CaptureStartInfo* Info) 183``` 184 185**描述** 186 187拍照开始回调。 188 189**起始版本:** 12 190 191 192**参数:** 193 194| 参数项 | 描述 | 195| -- | -- | 196| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 传递回调的拍照输出实例。 | 197| [Camera_CaptureStartInfo](capi-oh-camera-camera-capturestartinfo.md)* Info | 回调传递的拍照开始信息。 | 198 199### OH_PhotoOutput_OnFrameShutterEnd() 200 201``` 202typedef void (*OH_PhotoOutput_OnFrameShutterEnd)(Camera_PhotoOutput* photoOutput, Camera_FrameShutterInfo* Info) 203``` 204 205**描述** 206 207拍照曝光结束回调。 208 209**起始版本:** 12 210 211 212**参数:** 213 214| 参数项 | 描述 | 215| -- | -- | 216| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 传递回调的拍照输出实例。 | 217| [Camera_FrameShutterInfo](capi-oh-camera-camera-frameshutterinfo.md)* info | 回调传递的帧快门回调信息。 | 218 219### OH_PhotoOutput_CaptureReady() 220 221``` 222typedef void (*OH_PhotoOutput_CaptureReady)(Camera_PhotoOutput* photoOutput) 223``` 224 225**描述** 226 227拍照准备就绪回调。收到回调后,可以继续进行下一次拍照。 228 229**起始版本:** 12 230 231 232**参数:** 233 234| 参数项 | 描述 | 235| -- | -- | 236| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 传递回调的拍照输出实例。 | 237 238### OH_PhotoOutput_EstimatedCaptureDuration() 239 240``` 241typedef void (*OH_PhotoOutput_EstimatedCaptureDuration)(Camera_PhotoOutput* photoOutput, int64_t duration) 242``` 243 244**描述** 245 246预计拍照时间回调。 247 248**起始版本:** 12 249 250 251**参数:** 252 253| 参数项 | 描述 | 254| -- | -- | 255| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 传递回调的拍照输出实例。 | 256| int64_t duration | 回调传递的预计拍照时间,单位毫秒。 | 257 258### OH_PhotoOutput_PhotoAvailable() 259 260``` 261typedef void (*OH_PhotoOutput_PhotoAvailable)(Camera_PhotoOutput* photoOutput, OH_PhotoNative* photo) 262``` 263 264**描述** 265 266照片输出可用高分辨率图像回调。 267 268**起始版本:** 12 269 270 271**参数:** 272 273| 参数项 | 描述 | 274| -- | -- | 275| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 传递回调的拍照输出实例。 | 276| [OH_PhotoNative](capi-oh-camera-oh-photonative.md)* photo | 回调传递的OH_PhotoNative。 | 277 278### OH_PhotoOutput_PhotoAssetAvailable() 279 280``` 281typedef void (*OH_PhotoOutput_PhotoAssetAvailable)(Camera_PhotoOutput* photoOutput, OH_MediaAsset* photoAsset) 282``` 283 284**描述** 285 286输出照片资源可用回调。 287 288**起始版本:** 12 289 290 291**参数:** 292 293| 参数项 | 描述 | 294| -- | -- | 295| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 传递回调的拍照输出实例。 | 296| [OH_MediaAsset](../apis-media-library-kit/capi-mediaassetmanager-oh-mediaasset.md)* photoAsset | 回调传递的媒体资源。 | 297 298### OH_PhotoOutput_RegisterCallback() 299 300``` 301Camera_ErrorCode OH_PhotoOutput_RegisterCallback(Camera_PhotoOutput* photoOutput, PhotoOutput_Callbacks* callback) 302``` 303 304**描述** 305 306注册拍照输出更改事件回调。 307 308**起始版本:** 11 309 310 311**参数:** 312 313| 参数项 | 描述 | 314| -- | -- | 315| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 316| [PhotoOutput_Callbacks](capi-oh-camera-photooutput-callbacks.md)* callback | 要注册的拍照输出更改事件回调。 | 317 318**返回:** 319 320| 类型 | 说明 | 321| -- | -- | 322| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 323 324### OH_PhotoOutput_UnregisterCallback() 325 326``` 327Camera_ErrorCode OH_PhotoOutput_UnregisterCallback(Camera_PhotoOutput* photoOutput, PhotoOutput_Callbacks* callback) 328``` 329 330**描述** 331 332注销拍照输出更改事件回调。 333 334**起始版本:** 11 335 336 337**参数:** 338 339| 参数项 | 描述 | 340| -- | -- | 341| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 342| [PhotoOutput_Callbacks](capi-oh-camera-photooutput-callbacks.md)* callback | 要注销的拍照输出更改事件回调。 | 343 344**返回:** 345 346| 类型 | 说明 | 347| -- | -- | 348| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 349 350### OH_PhotoOutput_RegisterCaptureStartWithInfoCallback() 351 352``` 353Camera_ErrorCode OH_PhotoOutput_RegisterCaptureStartWithInfoCallback(Camera_PhotoOutput* photoOutput,OH_PhotoOutput_CaptureStartWithInfo callback) 354``` 355 356**描述** 357 358注册拍照开始事件回调。 359 360**起始版本:** 12 361 362 363**参数:** 364 365| 参数项 | 描述 | 366| -- | -- | 367| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 368| [OH_PhotoOutput_CaptureStartWithInfo](#oh_photooutput_capturestartwithinfo) callback | 要注册的拍照开始事件回调。 | 369 370**返回:** 371 372| 类型 | 说明 | 373| -- | -- | 374| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 375 376### OH_PhotoOutput_GetPhotoRotation() 377 378``` 379Camera_ErrorCode OH_PhotoOutput_GetPhotoRotation(Camera_PhotoOutput* photoOutput, int deviceDegree,Camera_ImageRotation* imageRotation) 380``` 381 382**描述** 383 384获取照片旋转角度。 385 386**起始版本:** 12 387 388 389**参数:** 390 391| 参数项 | 描述 | 392| -- | -- | 393| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 用于获取照片旋转角度的拍照输出实例。 | 394| int deviceDegree | 当前设备旋转角度。 | 395| [Camera_ImageRotation](capi-camera-h.md#camera_imagerotation)* imageRotation | 照片旋转角度的结果。 | 396 397**返回:** 398 399| 类型 | 说明 | 400| -- | -- | 401| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br> CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 | 402 403### OH_PhotoOutput_UnregisterCaptureStartWithInfoCallback() 404 405``` 406Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureStartWithInfoCallback(Camera_PhotoOutput* photoOutput,OH_PhotoOutput_CaptureStartWithInfo callback) 407``` 408 409**描述** 410 411注销拍照开始事件回调。 412 413**起始版本:** 12 414 415 416**参数:** 417 418| 参数项 | 描述 | 419| -- | -- | 420| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 421| [OH_PhotoOutput_CaptureStartWithInfo](#oh_photooutput_capturestartwithinfo) callback | 要注销的拍照开始事件回调。 | 422 423**返回:** 424 425| 类型 | 说明 | 426| -- | -- | 427| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 428 429### OH_PhotoOutput_RegisterCaptureEndCallback() 430 431``` 432Camera_ErrorCode OH_PhotoOutput_RegisterCaptureEndCallback(Camera_PhotoOutput* photoOutput,OH_PhotoOutput_CaptureEnd callback) 433``` 434 435**描述** 436 437注册拍照结束事件回调。 438 439**起始版本:** 12 440 441 442**参数:** 443 444| 参数项 | 描述 | 445| -- | -- | 446| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 447| [OH_PhotoOutput_CaptureEnd](#oh_photooutput_captureend) callback | 要注册的拍照结束事件回调。 | 448 449**返回:** 450 451| 类型 | 说明 | 452| -- | -- | 453| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 454 455### OH_PhotoOutput_UnregisterCaptureEndCallback() 456 457``` 458Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureEndCallback(Camera_PhotoOutput* photoOutput,OH_PhotoOutput_CaptureEnd callback) 459``` 460 461**描述** 462 463注销拍照结束事件回调。 464 465**起始版本:** 12 466 467 468**参数:** 469 470| 参数项 | 描述 | 471| -- | -- | 472| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 473| [OH_PhotoOutput_CaptureEnd](#oh_photooutput_captureend) callback | 要注销的拍照结束事件回调。 | 474 475**返回:** 476 477| 类型 | 说明 | 478| -- | -- | 479| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 480 481### OH_PhotoOutput_RegisterFrameShutterEndCallback() 482 483``` 484Camera_ErrorCode OH_PhotoOutput_RegisterFrameShutterEndCallback(Camera_PhotoOutput* photoOutput,OH_PhotoOutput_OnFrameShutterEnd callback) 485``` 486 487**描述** 488 489注册拍照曝光结束事件回调。 490 491**起始版本:** 12 492 493 494**参数:** 495 496| 参数项 | 描述 | 497| -- | -- | 498| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 499| [OH_PhotoOutput_OnFrameShutterEnd](#oh_photooutput_onframeshutterend) callback | 要注册的拍照曝光结束事件回调。 | 500 501**返回:** 502 503| 类型 | 说明 | 504| -- | -- | 505| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 506 507### OH_PhotoOutput_UnregisterFrameShutterEndCallback() 508 509``` 510Camera_ErrorCode OH_PhotoOutput_UnregisterFrameShutterEndCallback(Camera_PhotoOutput* photoOutput,OH_PhotoOutput_OnFrameShutterEnd callback) 511``` 512 513**描述** 514 515注销拍照曝光结束事件回调。 516 517**起始版本:** 12 518 519 520**参数:** 521 522| 参数项 | 描述 | 523| -- | -- | 524| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 525| [OH_PhotoOutput_OnFrameShutterEnd](#oh_photooutput_onframeshutterend) callback | 要注销的拍照曝光结束事件回调。 | 526 527**返回:** 528 529| 类型 | 说明 | 530| -- | -- | 531| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 532 533### OH_PhotoOutput_RegisterCaptureReadyCallback() 534 535``` 536Camera_ErrorCode OH_PhotoOutput_RegisterCaptureReadyCallback(Camera_PhotoOutput* photoOutput,OH_PhotoOutput_CaptureReady callback) 537``` 538 539**描述** 540 541注册拍照就绪事件回调。收到回调后,可以继续进行下一次拍照。 542 543**起始版本:** 12 544 545 546**参数:** 547 548| 参数项 | 描述 | 549| -- | -- | 550| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 551| [OH_PhotoOutput_CaptureReady](#oh_photooutput_captureready) callback | 要注册的拍照就绪事件回调。 | 552 553**返回:** 554 555| 类型 | 说明 | 556| -- | -- | 557| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 558 559### OH_PhotoOutput_UnregisterCaptureReadyCallback() 560 561``` 562Camera_ErrorCode OH_PhotoOutput_UnregisterCaptureReadyCallback(Camera_PhotoOutput* photoOutput,OH_PhotoOutput_CaptureReady callback) 563``` 564 565**描述** 566 567注销拍照就绪事件回调。 568 569**起始版本:** 12 570 571 572**参数:** 573 574| 参数项 | 描述 | 575| -- | -- | 576| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 577| [OH_PhotoOutput_CaptureReady](#oh_photooutput_captureready) callback | 要注销的拍照就绪事件回调。 | 578 579**返回:** 580 581| 类型 | 说明 | 582| -- | -- | 583| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 584 585### OH_PhotoOutput_RegisterEstimatedCaptureDurationCallback() 586 587``` 588Camera_ErrorCode OH_PhotoOutput_RegisterEstimatedCaptureDurationCallback(Camera_PhotoOutput* photoOutput,OH_PhotoOutput_EstimatedCaptureDuration callback) 589``` 590 591**描述** 592 593注册预计拍照时间事件回调。 594 595**起始版本:** 12 596 597 598**参数:** 599 600| 参数项 | 描述 | 601| -- | -- | 602| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 603| [OH_PhotoOutput_EstimatedCaptureDuration](#oh_photooutput_estimatedcaptureduration) callback | 要注册的预计拍照时间事件回调。 | 604 605**返回:** 606 607| 类型 | 说明 | 608| -- | -- | 609| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 610 611### OH_PhotoOutput_UnregisterEstimatedCaptureDurationCallback() 612 613``` 614Camera_ErrorCode OH_PhotoOutput_UnregisterEstimatedCaptureDurationCallback(Camera_PhotoOutput* photoOutput,OH_PhotoOutput_EstimatedCaptureDuration callback) 615``` 616 617**描述** 618 619注销预计拍照时间事件回调。 620 621**起始版本:** 12 622 623 624**参数:** 625 626| 参数项 | 描述 | 627| -- | -- | 628| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 629| [OH_PhotoOutput_EstimatedCaptureDuration](#oh_photooutput_estimatedcaptureduration) callback | 要注销的预计拍照时间事件回调。 | 630 631**返回:** 632 633| 类型 | 说明 | 634| -- | -- | 635| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 636 637### OH_PhotoOutput_RegisterPhotoAvailableCallback() 638 639``` 640Camera_ErrorCode OH_PhotoOutput_RegisterPhotoAvailableCallback(Camera_PhotoOutput* photoOutput,OH_PhotoOutput_PhotoAvailable callback) 641``` 642 643**描述** 644 645注册输出照片可用回调。 646 647**起始版本:** 12 648 649 650**参数:** 651 652| 参数项 | 描述 | 653| -- | -- | 654| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 655| [OH_PhotoOutput_PhotoAvailable](#oh_photooutput_photoavailable) callback | 要注册的输出照片可用回调。 | 656 657**返回:** 658 659| 类型 | 说明 | 660| -- | -- | 661| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br> CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 | 662 663### OH_PhotoOutput_UnregisterPhotoAvailableCallback() 664 665``` 666Camera_ErrorCode OH_PhotoOutput_UnregisterPhotoAvailableCallback(Camera_PhotoOutput* photoOutput,OH_PhotoOutput_PhotoAvailable callback) 667``` 668 669**描述** 670 671注销输出照片可用回调。 672 673**起始版本:** 12 674 675 676**参数:** 677 678| 参数项 | 描述 | 679| -- | -- | 680| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 681| [OH_PhotoOutput_PhotoAvailable](#oh_photooutput_photoavailable) callback | 要注销的输出照片可用回调。 | 682 683**返回:** 684 685| 类型 | 说明 | 686| -- | -- | 687| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br> CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 | 688 689### OH_PhotoOutput_RegisterPhotoAssetAvailableCallback() 690 691``` 692Camera_ErrorCode OH_PhotoOutput_RegisterPhotoAssetAvailableCallback(Camera_PhotoOutput* photoOutput,OH_PhotoOutput_PhotoAssetAvailable callback) 693``` 694 695**描述** 696 697注册输出照片资源可用回调。 698 699**起始版本:** 12 700 701 702**参数:** 703 704| 参数项 | 描述 | 705| -- | -- | 706| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 707| [OH_PhotoOutput_PhotoAssetAvailable](#oh_photooutput_photoassetavailable) callback | 要注册的输出照片资源可用回调。 | 708 709**返回:** 710 711| 类型 | 说明 | 712| -- | -- | 713| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 714 715### OH_PhotoOutput_UnregisterPhotoAssetAvailableCallback() 716 717``` 718Camera_ErrorCode OH_PhotoOutput_UnregisterPhotoAssetAvailableCallback(Camera_PhotoOutput* photoOutput,OH_PhotoOutput_PhotoAssetAvailable callback) 719``` 720 721**描述** 722 723注销输出照片资源可用回调。 724 725**起始版本:** 12 726 727 728**参数:** 729 730| 参数项 | 描述 | 731| -- | -- | 732| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例。 | 733| [OH_PhotoOutput_PhotoAssetAvailable](#oh_photooutput_photoassetavailable) callback | 要注销的输出照片资源可用回调。 | 734 735**返回:** 736 737| 类型 | 说明 | 738| -- | -- | 739| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 740 741### OH_PhotoOutput_Capture() 742 743``` 744Camera_ErrorCode OH_PhotoOutput_Capture(Camera_PhotoOutput* photoOutput) 745``` 746 747**描述** 748 749拍摄照片。<br> 必须在[OH_PreviewOutput_Release](capi-preview-output-h.md#oh_previewoutput_release)之前调用,否则会导致无法拍照。 750 751**起始版本:** 11 752 753 754**参数:** 755 756| 参数项 | 描述 | 757| -- | -- | 758| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 用于捕获拍照的拍照输出实例。 | 759 760**返回:** 761 762| 类型 | 说明 | 763| -- | -- | 764| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br> CAMERA_SESSION_NOT_RUNNING:捕获会话未运行。<br> CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 | 765 766### OH_PhotoOutput_Capture_WithCaptureSetting() 767 768``` 769Camera_ErrorCode OH_PhotoOutput_Capture_WithCaptureSetting(Camera_PhotoOutput* photoOutput,Camera_PhotoCaptureSetting setting) 770``` 771 772**描述** 773 774使用捕获设置捕获拍照。 775 776**起始版本:** 11 777 778 779**参数:** 780 781| 参数项 | 描述 | 782| -- | -- | 783| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 用于捕获拍照的拍照输出实例。 | 784| [Camera_PhotoCaptureSetting](capi-oh-camera-camera-photocapturesetting.md) setting | 用于捕获拍照的[Camera_PhotoCaptureSetting](capi-oh-camera-camera-photocapturesetting.md)。 | 785 786**返回:** 787 788| 类型 | 说明 | 789| -- | -- | 790| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br> CAMERA_SESSION_NOT_RUNNING:捕获会话未运行。<br> CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 | 791 792### OH_PhotoOutput_Release() 793 794``` 795Camera_ErrorCode OH_PhotoOutput_Release(Camera_PhotoOutput* photoOutput) 796``` 797 798**描述** 799 800释放拍照输出。 801 802**起始版本:** 11 803 804 805**参数:** 806 807| 参数项 | 描述 | 808| -- | -- | 809| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 要释放的拍照输出实例。 | 810 811**返回:** 812 813| 类型 | 说明 | 814| -- | -- | 815| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br> CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 | 816 817### OH_PhotoOutput_IsMirrorSupported() 818 819``` 820Camera_ErrorCode OH_PhotoOutput_IsMirrorSupported(Camera_PhotoOutput* photoOutput, bool* isSupported) 821``` 822 823**描述** 824 825检查是否支持镜像拍照。 826 827**起始版本:** 11 828 829 830**参数:** 831 832| 参数项 | 描述 | 833| -- | -- | 834| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例,用于检查是否支持镜像。 | 835| bool* isSupported | 是否支持镜像的结果。true表示支持镜像,false表示不支持。 | 836 837**返回:** 838 839| 类型 | 说明 | 840| -- | -- | 841| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br> CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 | 842 843### OH_PhotoOutput_EnableMirror() 844 845``` 846Camera_ErrorCode OH_PhotoOutput_EnableMirror(Camera_PhotoOutput* photoOutput, bool enabled) 847``` 848 849**描述** 850 851是否启用动态照片镜像拍照。 852 853**起始版本:** 13 854 855 856**参数:** 857 858| 参数项 | 描述 | 859| -- | -- | 860| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 拍照输出实例,用于确认是否启用镜像拍照。 | 861| bool enabled | 是否启用动态照片镜像拍照的结果,true为开启动态照片镜像拍照,false为关闭动态照片镜像拍照。 | 862 863**返回:** 864 865| 类型 | 说明 | 866| -- | -- | 867| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br> CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 | 868 869### OH_PhotoOutput_GetActiveProfile() 870 871``` 872Camera_ErrorCode OH_PhotoOutput_GetActiveProfile(Camera_PhotoOutput* photoOutput, Camera_Profile** profile) 873``` 874 875**描述** 876 877获取当前照片输出配置文件。 878 879**起始版本:** 12 880 881 882**参数:** 883 884| 参数项 | 描述 | 885| -- | -- | 886| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 传递当前配置文件的拍照输出实例。 | 887| [Camera_Profile](capi-oh-camera-camera-profile.md)** profile | 如果方法调用成功,将记录照片输出配置文件。 | 888 889**返回:** 890 891| 类型 | 说明 | 892| -- | -- | 893| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br> CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 | 894 895### OH_PhotoOutput_DeleteProfile() 896 897``` 898Camera_ErrorCode OH_PhotoOutput_DeleteProfile(Camera_Profile* profile) 899``` 900 901**描述** 902 903删除照片配置文件实例。 904 905**起始版本:** 12 906 907 908**参数:** 909 910| 参数项 | 描述 | 911| -- | -- | 912| [Camera_Profile](capi-oh-camera-camera-profile.md)* profile | 要被删除的照片配置文件实例。 | 913 914**返回:** 915 916| 类型 | 说明 | 917| -- | -- | 918| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 | 919 920### OH_PhotoOutput_IsMovingPhotoSupported() 921 922``` 923Camera_ErrorCode OH_PhotoOutput_IsMovingPhotoSupported(Camera_PhotoOutput* photoOutput, bool* isSupported) 924``` 925 926**描述** 927 928检查是否支持动态照片。 929 930**起始版本:** 12 931 932 933**参数:** 934 935| 参数项 | 描述 | 936| -- | -- | 937| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 用于检查是否支持动态照片的拍照输出实例。 | 938| bool* isSupported | 是否支持动态照片的结果。true表示支持动态照片,false表示不支持。 | 939 940**返回:** 941 942| 类型 | 说明 | 943| -- | -- | 944| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br> CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 | 945 946### OH_PhotoOutput_EnableMovingPhoto() 947 948``` 949Camera_ErrorCode OH_PhotoOutput_EnableMovingPhoto(Camera_PhotoOutput* photoOutput, bool enabled) 950``` 951 952**描述** 953 954是否启用动态照片。 955 956**需要权限:** ohos.permission.MICROPHONE 957 958**起始版本:** 12 959 960 961**参数:** 962 963| 参数项 | 描述 | 964| -- | -- | 965| [Camera_PhotoOutput](capi-oh-camera-camera-photooutput.md)* photoOutput | 用于启用或禁用动态照片的拍照输出实例。 | 966| bool enabled | 是否启用动态照片。true表示启用动态照片,false表示不启用。 | 967 968**返回:** 969 970| 类型 | 说明 | 971| -- | -- | 972| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br> CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br> CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 | 973 974 975