• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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