From 43222e73eb40b6de425737e28513c3399f1cf53b Mon Sep 17 00:00:00 2001 From: wangruikang Date: Sat, 24 May 2025 14:32:35 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=B3=BB=E7=BB=9F=E5=8E=8B?= =?UTF-8?q?=E5=8A=9B=E7=8A=B6=E6=80=81C=20API=E8=B5=84=E6=96=99=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: wangruikang --- .../multimedia/camera_framework/camera.h | 30 ++++++++++++++++ .../camera_framework/capture_session.h | 34 +++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/zh-cn/native_sdk/multimedia/camera_framework/camera.h b/zh-cn/native_sdk/multimedia/camera_framework/camera.h index 17eb847a..a1da99ce 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 0ef3407a..c56fffde 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 检查是否支持自动设备切换。 * -- Gitee