• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# preview_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/preview_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| [PreviewOutput_Callbacks](capi-oh-camera-previewoutput-callbacks.md) | PreviewOutput_Callbacks | 用于预览输出的回调。 |
30| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md) | Camera_PreviewOutput | 预览输出对象。<br> 可以使用[OH_CameraManager_CreatePreviewOutput](capi-camera-manager-h.md#oh_cameramanager_createpreviewoutput)方法创建指针。 |
31
32### 函数
33
34| 名称 | typedef关键字 | 描述 |
35| -- | -- | -- |
36| [typedef void (\*OH_PreviewOutput_OnFrameStart)(Camera_PreviewOutput* previewOutput)](#oh_previewoutput_onframestart) | OH_PreviewOutput_OnFrameStart | 在[PreviewOutput_Callbacks](capi-oh-camera-previewoutput-callbacks.md)中被调用的预览输出帧开始回调。 |
37| [typedef void (\*OH_PreviewOutput_OnFrameEnd)(Camera_PreviewOutput* previewOutput, int32_t frameCount)](#oh_previewoutput_onframeend) | OH_PreviewOutput_OnFrameEnd | 在[PreviewOutput_Callbacks](capi-oh-camera-previewoutput-callbacks.md)中被调用的预览输出帧结束回调。 |
38| [typedef void (\*OH_PreviewOutput_OnError)(Camera_PreviewOutput* previewOutput, Camera_ErrorCode errorCode)](#oh_previewoutput_onerror) | OH_PreviewOutput_OnError | 在[PreviewOutput_Callbacks](capi-oh-camera-previewoutput-callbacks.md)中被调用的预览输出帧错误回调。 |
39| [Camera_ErrorCode OH_PreviewOutput_RegisterCallback(Camera_PreviewOutput* previewOutput, PreviewOutput_Callbacks* callback)](#oh_previewoutput_registercallback) | - | 注册预览输出更改事件回调。 |
40| [Camera_ErrorCode OH_PreviewOutput_UnregisterCallback(Camera_PreviewOutput* previewOutput, PreviewOutput_Callbacks* callback)](#oh_previewoutput_unregistercallback) | - | 注销预览输出更改事件回调。 |
41| [Camera_ErrorCode OH_PreviewOutput_Start(Camera_PreviewOutput* previewOutput)](#oh_previewoutput_start) | - | 开始预览输出。 |
42| [Camera_ErrorCode OH_PreviewOutput_Stop(Camera_PreviewOutput* previewOutput)](#oh_previewoutput_stop) | - | 停止预览输出。 |
43| [Camera_ErrorCode OH_PreviewOutput_Release(Camera_PreviewOutput* previewOutput)](#oh_previewoutput_release) | - | 释放预览输出实例。 |
44| [Camera_ErrorCode OH_PreviewOutput_GetActiveProfile(Camera_PreviewOutput* previewOutput, Camera_Profile** profile)](#oh_previewoutput_getactiveprofile) | - | 获取当前预览输出配置文件。 |
45| [Camera_ErrorCode OH_PreviewOutput_DeleteProfile(Camera_Profile* profile)](#oh_previewoutput_deleteprofile) | - | 删除预览配置文件实例。 |
46| [Camera_ErrorCode OH_PreviewOutput_GetPreviewRotation(Camera_PreviewOutput* previewOutput, int displayRotation, Camera_ImageRotation* imageRotation)](#oh_previewoutput_getpreviewrotation) | - | 获取相机预览旋转角度。 |
47| [Camera_ErrorCode OH_PreviewOutput_SetPreviewRotation(Camera_PreviewOutput* previewOutput, Camera_ImageRotation previewRotation, bool isDisplayLocked)](#oh_previewoutput_setpreviewrotation) | - | 设置相机预览旋转角度。 |
48| [Camera_ErrorCode OH_PreviewOutput_GetSupportedFrameRates(Camera_PreviewOutput* previewOutput, Camera_FrameRateRange** frameRateRange, uint32_t* size)](#oh_previewoutput_getsupportedframerates) | - | 获取支持的预览输出帧率列表。 |
49| [Camera_ErrorCode OH_PreviewOutput_DeleteFrameRates(Camera_PreviewOutput* previewOutput, Camera_FrameRateRange* frameRateRange)](#oh_previewoutput_deleteframerates) | - | 删除帧率列表。 |
50| [Camera_ErrorCode OH_PreviewOutput_SetFrameRate(Camera_PreviewOutput* previewOutput, int32_t minFps, int32_t maxFps)](#oh_previewoutput_setframerate) | - | 设置预览输出帧率。 |
51| [Camera_ErrorCode OH_PreviewOutput_GetActiveFrameRate(Camera_PreviewOutput* previewOutput, Camera_FrameRateRange* frameRateRange)](#oh_previewoutput_getactiveframerate) | - | 获取当前预览输出帧率。 |
52
53## 函数说明
54
55### OH_PreviewOutput_OnFrameStart()
56
57```
58typedef void (*OH_PreviewOutput_OnFrameStart)(Camera_PreviewOutput* previewOutput)
59```
60
61**描述**
62
63在[PreviewOutput_Callbacks](capi-oh-camera-previewoutput-callbacks.md)中被调用的预览输出帧开始回调。
64
65**起始版本:** 11
66
67
68**参数:**
69
70| 参数项 | 描述 |
71| -- | -- |
72| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 传递回调的预览输出实例。 |
73
74### OH_PreviewOutput_OnFrameEnd()
75
76```
77typedef void (*OH_PreviewOutput_OnFrameEnd)(Camera_PreviewOutput* previewOutput, int32_t frameCount)
78```
79
80**描述**
81
82在[PreviewOutput_Callbacks](capi-oh-camera-previewoutput-callbacks.md)中被调用的预览输出帧结束回调。
83
84**起始版本:** 11
85
86
87**参数:**
88
89| 参数项 | 描述 |
90| -- | -- |
91| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 传递回调的预览输出实例。 |
92|  int32_t frameCount | 回调传递的帧计数。 |
93
94### OH_PreviewOutput_OnError()
95
96```
97typedef void (*OH_PreviewOutput_OnError)(Camera_PreviewOutput* previewOutput, Camera_ErrorCode errorCode)
98```
99
100**描述**
101
102在[PreviewOutput_Callbacks](capi-oh-camera-previewoutput-callbacks.md)中被调用的预览输出帧错误回调。
103
104**起始版本:** 11
105
106
107**参数:**
108
109| 参数项 | 描述 |
110| -- | -- |
111| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 传递回调的预览输出实例。 |
112|  [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) errorCode | 预览输出的错误码。 |
113
114**参考:**
115
116[CAMERA_SERVICE_FATAL_ERROR](capi-camera-h.md#camera_errorcode)
117
118### OH_PreviewOutput_RegisterCallback()
119
120```
121Camera_ErrorCode OH_PreviewOutput_RegisterCallback(Camera_PreviewOutput* previewOutput,PreviewOutput_Callbacks* callback)
122```
123
124**描述**
125
126注册预览输出更改事件回调。
127
128**起始版本:** 11
129
130
131**参数:**
132
133| 参数项 | 描述 |
134| -- | -- |
135| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 预览输出实例。 |
136| [PreviewOutput_Callbacks](capi-oh-camera-previewoutput-callbacks.md)* callback | 要注册的预览输出更改事件回调。 |
137
138**返回:**
139
140| 类型 | 说明 |
141| -- | -- |
142| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
143
144### OH_PreviewOutput_UnregisterCallback()
145
146```
147Camera_ErrorCode OH_PreviewOutput_UnregisterCallback(Camera_PreviewOutput* previewOutput,PreviewOutput_Callbacks* callback)
148```
149
150**描述**
151
152注销预览输出更改事件回调。
153
154**起始版本:** 11
155
156
157**参数:**
158
159| 参数项 | 描述 |
160| -- | -- |
161| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 预览输出实例。 |
162| [PreviewOutput_Callbacks](capi-oh-camera-previewoutput-callbacks.md)* callback | 要注销的预览输出更改事件回调。 |
163
164**返回:**
165
166| 类型 | 说明 |
167| -- | -- |
168| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
169
170### OH_PreviewOutput_Start()
171
172```
173Camera_ErrorCode OH_PreviewOutput_Start(Camera_PreviewOutput* previewOutput)
174```
175
176**描述**
177
178开始预览输出。
179
180**起始版本:** 11
181
182
183**参数:**
184
185| 参数项 | 描述 |
186| -- | -- |
187| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 要启动的预览输出实例。 |
188
189**返回:**
190
191| 类型 | 说明 |
192| -- | -- |
193| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SESSION_NOT_CONFIG:捕获会话未配置。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
194
195### OH_PreviewOutput_Stop()
196
197```
198Camera_ErrorCode OH_PreviewOutput_Stop(Camera_PreviewOutput* previewOutput)
199```
200
201**描述**
202
203停止预览输出。
204
205**起始版本:** 11
206
207
208**参数:**
209
210| 参数项 | 描述 |
211| -- | -- |
212| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 要停止的预览输出实例。 |
213
214**返回:**
215
216| 类型 | 说明 |
217| -- | -- |
218| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
219
220### OH_PreviewOutput_Release()
221
222```
223Camera_ErrorCode OH_PreviewOutput_Release(Camera_PreviewOutput* previewOutput)
224```
225
226**描述**
227
228释放预览输出实例。
229
230**起始版本:** 11
231
232
233**参数:**
234
235| 参数项 | 描述 |
236| -- | -- |
237| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 要释放的预览输出实例。 |
238
239**返回:**
240
241| 类型 | 说明 |
242| -- | -- |
243| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
244
245### OH_PreviewOutput_GetActiveProfile()
246
247```
248Camera_ErrorCode OH_PreviewOutput_GetActiveProfile(Camera_PreviewOutput* previewOutput, Camera_Profile** profile)
249```
250
251**描述**
252
253获取当前预览输出配置文件。
254
255**起始版本:** 12
256
257
258**参数:**
259
260| 参数项 | 描述 |
261| -- | -- |
262| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 提供当前预览输出配置文件的预览输出实例。 |
263| [Camera_Profile](capi-oh-camera-camera-profile.md)** profile | 如果方法调用成功,将记录当前的预览输出配置文件。 |
264
265**返回:**
266
267| 类型 | 说明 |
268| -- | -- |
269| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
270
271### OH_PreviewOutput_DeleteProfile()
272
273```
274Camera_ErrorCode OH_PreviewOutput_DeleteProfile(Camera_Profile* profile)
275```
276
277**描述**
278
279删除预览配置文件实例。
280
281**起始版本:** 12
282
283
284**参数:**
285
286| 参数项 | 描述 |
287| -- | -- |
288| [Camera_Profile](capi-oh-camera-camera-profile.md)* profile | 要被删除的预览配置文件实例。 |
289
290**返回:**
291
292| 类型 | 说明 |
293| -- | -- |
294| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
295
296### OH_PreviewOutput_GetPreviewRotation()
297
298```
299Camera_ErrorCode OH_PreviewOutput_GetPreviewRotation(Camera_PreviewOutput* previewOutput, int displayRotation,Camera_ImageRotation* imageRotation)
300```
301
302**描述**
303
304获取相机预览旋转角度。
305
306**起始版本:** 12
307
308
309**参数:**
310
311| 参数项 | 描述 |
312| -- | -- |
313| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 用于获取预览旋转角度的预览输出实例。 |
314| int displayRotation | 当前显示的旋转角度。 |
315| [Camera_ImageRotation](capi-camera-h.md#camera_imagerotation)* imageRotation | 预览旋转角度结果。 |
316
317**返回:**
318
319| 类型 | 说明 |
320| -- | -- |
321| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
322
323### OH_PreviewOutput_SetPreviewRotation()
324
325```
326Camera_ErrorCode OH_PreviewOutput_SetPreviewRotation(Camera_PreviewOutput* previewOutput,Camera_ImageRotation previewRotation, bool isDisplayLocked)
327```
328
329**描述**
330
331设置相机预览旋转角度。
332
333**起始版本:** 12
334
335
336**参数:**
337
338| 参数项 | 描述 |
339| -- | -- |
340| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 用于设置预览旋转角度的预览输出实例。 |
341| [Camera_ImageRotation](capi-camera-h.md#camera_imagerotation) previewRotation | 预览的显示旋转角度。 |
342| bool isDisplayLocked | Surface在屏幕旋转时是否锁定方向,未设置时默认取值为false,即不锁定方向。true表示锁定方向,false表示不锁定方向。详情请参考[SurfaceRotationOptions](../../reference/apis-arkui/arkui-ts/ts-basic-components-xcomponent.md#surfacerotationoptions12对象说明)。 |
343
344**返回:**
345
346| 类型 | 说明 |
347| -- | -- |
348| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
349
350### OH_PreviewOutput_GetSupportedFrameRates()
351
352```
353Camera_ErrorCode OH_PreviewOutput_GetSupportedFrameRates(Camera_PreviewOutput* previewOutput,Camera_FrameRateRange** frameRateRange, uint32_t* size)
354```
355
356**描述**
357
358获取支持的预览输出帧率列表。
359
360**起始版本:** 12
361
362
363**参数:**
364
365| 参数项 | 描述 |
366| -- | -- |
367| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 传递支持的帧率列表的预览输出实例。 |
368| [Camera_FrameRateRange](capi-oh-camera-camera-frameraterange.md)** frameRateRange | 如果方法调用成功,将记录支持的预览输出帧率列表。 |
369| uint32_t* size | 如果方法调用成功,将记录支持的预览输出帧率列表大小。 |
370
371**返回:**
372
373| 类型 | 说明 |
374| -- | -- |
375| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
376
377### OH_PreviewOutput_DeleteFrameRates()
378
379```
380Camera_ErrorCode OH_PreviewOutput_DeleteFrameRates(Camera_PreviewOutput* previewOutput,Camera_FrameRateRange* frameRateRange)
381```
382
383**描述**
384
385删除帧率列表。
386
387**起始版本:** 12
388
389
390**参数:**
391
392| 参数项 | 描述 |
393| -- | -- |
394| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 预览输出实例。 |
395| [Camera_FrameRateRange](capi-oh-camera-camera-frameraterange.md)* frameRateRange | 要删除的帧率列表。 |
396
397**返回:**
398
399| 类型 | 说明 |
400| -- | -- |
401| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
402
403### OH_PreviewOutput_SetFrameRate()
404
405```
406Camera_ErrorCode OH_PreviewOutput_SetFrameRate(Camera_PreviewOutput* previewOutput,int32_t minFps, int32_t maxFps)
407```
408
409**描述**
410
411设置预览输出帧率。
412
413**起始版本:** 12
414
415
416**参数:**
417
418| 参数项 | 描述 |
419| -- | -- |
420| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 要设置帧率的预览输出实例。 |
421| int32_t minFps | 要设置的最小值。 |
422| int32_t maxFps | 要设置的最大值。 |
423
424**返回:**
425
426| 类型 | 说明 |
427| -- | -- |
428| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。 |
429
430### OH_PreviewOutput_GetActiveFrameRate()
431
432```
433Camera_ErrorCode OH_PreviewOutput_GetActiveFrameRate(Camera_PreviewOutput* previewOutput,Camera_FrameRateRange* frameRateRange)
434```
435
436**描述**
437
438获取当前预览输出帧率。
439
440**起始版本:** 12
441
442
443**参数:**
444
445| 参数项 | 描述 |
446| -- | -- |
447| [Camera_PreviewOutput](capi-oh-camera-camera-previewoutput.md)* previewOutput | 传递当前预览输出帧率的预览输出实例。 |
448| [Camera_FrameRateRange](capi-oh-camera-camera-frameraterange.md)* frameRateRange | 如果方法调用成功,则将记录当前的[Camera_FrameRateRange](capi-oh-camera-camera-frameraterange.md)。 |
449
450**返回:**
451
452| 类型 | 说明 |
453| -- | -- |
454| [Camera_ErrorCode](capi-camera-h.md#camera_errorcode) | CAMERA_OK:方法调用成功。<br>         CAMERA_INVALID_ARGUMENT:参数丢失或参数类型不正确。<br>         CAMERA_SERVICE_FATAL_ERROR:相机服务出现致命错误。 |
455
456
457