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