diff --git a/zh-cn/native_sdk/multimedia/camera_framework/camera.h b/zh-cn/native_sdk/multimedia/camera_framework/camera.h index 17eb847a1ebd1a9a489783b9a21638384e810c54..a1da99ce262acf4dc87bc13fcf02f692e25cf00f 100644 --- a/zh-cn/native_sdk/multimedia/camera_framework/camera.h +++ b/zh-cn/native_sdk/multimedia/camera_framework/camera.h @@ -527,6 +527,36 @@ typedef enum Camera_SmoothZoomMode { NORMAL = 0 } Camera_SmoothZoomMode; +/** + * @brief 系统压力等级的枚举。 + * + * @since 20 + * @version 1.0 + */ +typedef enum Camera_SystemPressureLevel { + /** + * 系统压力正常。 + */ + SYSTEM_PRESSURE_NORMAL = 0, + /** + * 系统压力升高,但是系统不会主动管控。 + */ + SYSTEM_PRESSURE_MILD = 1, + /** + * 系统压力可能对图像总质量、性能产生影响。 + */ + SYSTEM_PRESSURE_SEVERE = 2, + /** + * 系统图像质量、性能产生显著影响。 + */ + SYSTEM_PRESSURE_CRITICAL = 3, + /** + * 系统压力过高,停止工作。 + */ + SYSTEM_PRESSURE_SHUTDOWN = 4, + +} Camera_SystemPressureLevel; + /** * @brief 预配置照片分辨率的枚举 * diff --git a/zh-cn/native_sdk/multimedia/camera_framework/capture_session.h b/zh-cn/native_sdk/multimedia/camera_framework/capture_session.h index 0ef3407a12d34b967b096bbc7fc2bb93bea8297f..c56fffded6238938707b65eacebb146a25ae3dd8 100644 --- a/zh-cn/native_sdk/multimedia/camera_framework/capture_session.h +++ b/zh-cn/native_sdk/multimedia/camera_framework/capture_session.h @@ -104,6 +104,16 @@ typedef void (*OH_CaptureSession_OnSmoothZoomInfo)(Camera_CaptureSession* sessio typedef void (*OH_CaptureSession_OnAutoDeviceSwitchStatusChange)(Camera_CaptureSession* session, Camera_AutoDeviceSwitchStatusInfo* autoDeviceSwitchStatusInfo); +/** + * @brief 捕获系统压力状态变化回调。 + * + * @param session 传递回调的{@link Camera_CaptureSession}。 + * @param systemPressureLevel 回调传递的{@link Camera_SystemPressureLevel}。 + * @since 20 + */ +typedef void (*OH_CaptureSession_OnSystemPressureLevel)(Camera_CaptureSession* session, + Camera_SystemPressureLevel* systemPressureLevel) + /** * @brief 捕获会话的回调。 * @@ -879,6 +889,18 @@ Camera_ErrorCode OH_CaptureSession_SetActiveColorSpace(Camera_CaptureSession* se Camera_ErrorCode OH_CaptureSession_RegisterAutoDeviceSwitchStatusCallback(Camera_CaptureSession* session, OH_CaptureSession_OnAutoDeviceSwitchStatusChange autoDeviceSwitchStatusChange); +/** + * @brief 注册系统压力状态回调。 + * + * @param session {@link Camera_CaptureSession}实例。 + * @param systemPressureLevel 要注册的{@link OH_CaptureSession_OnSystemPressurelevel}。 + * @return {@link #CAMERA_OK} 如果方法调用成功。 + * {@link #CAMERA_INVALID_ARGUMENT} 如果参数丢失或参数类型不正确。 + * @since 20 + */ +Camera_ErrorCode OH_CaptureSession_RegisterSystemPressureLevelCallback(Camera_CaptureSession* session, + OH_CaptureSession_OnSystemPressurelevel systemPressureLevel) + /** * @brief 注销设备切换事件回调。 * @@ -891,6 +913,18 @@ Camera_ErrorCode OH_CaptureSession_RegisterAutoDeviceSwitchStatusCallback(Camera Camera_ErrorCode OH_CaptureSession_UnregisterAutoDeviceSwitchStatusCallback(Camera_CaptureSession* session, OH_CaptureSession_OnAutoDeviceSwitchStatusChange autoDeviceSwitchStatusChange); +/** + * @brief 注销系统压力状态回调。 + * + * @param session {@link Camera_CaptureSession}实例。 + * @param systemPressureLevel 要取消注册的{@link OH_CaptureSession_OnSystemPressurelevel}。 + * @return {@link #CAMERA_OK} 如果方法调用成功。 + * {@link #CAMERA_INVALID_ARGUMENT} 如果参数丢失或参数类型不正确。 + * @since 20 + */ +Camera_ErrorCode OH_CaptureSession_UnregisterSystemPressureLevelCallback(Camera_CaptureSession* session, + OH_CaptureSession_OnSystemPressurelevel systemPressureLevel) + /** * @brief 检查是否支持自动设备切换。 *