From f4d9b89c48c84a498336b46ef781d12cdd1a6bb6 Mon Sep 17 00:00:00 2001 From: Trouvaille Date: Tue, 22 Apr 2025 15:53:52 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E5=BD=95=E5=B1=8F=E6=A1=86=E6=9E=B6?= =?UTF-8?q?=E5=85=81=E8=AE=B8=E5=BA=94=E7=94=A8=E8=AE=A2=E9=98=85=E5=BD=95?= =?UTF-8?q?=E5=88=B6=E7=AA=97=E5=8F=A3=E7=8A=B6=E6=80=81=E5=8F=98=E5=8C=96?= =?UTF-8?q?=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Trouvaille --- .../native_avscreen_capture.h | 16 ++++++++++ .../native_avscreen_capture_base.h | 29 +++++++++++++++++++ 2 files changed, 45 insertions(+) diff --git a/multimedia/player_framework/native_avscreen_capture.h b/multimedia/player_framework/native_avscreen_capture.h index 150ebef4f..46c06c9c7 100644 --- a/multimedia/player_framework/native_avscreen_capture.h +++ b/multimedia/player_framework/native_avscreen_capture.h @@ -463,6 +463,22 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_ShowCursor(struct OH_AVScreenCapt */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetDisplayCallback(struct OH_AVScreenCapture *capture, OH_AVScreenCapture_OnDisplaySelected callback, void *userData); + +/** + * @brief Set the Capture Content Changed callback function so that your application can + * customize event handler generated by the av screen capture. This interface must be called before Start is called. + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param capture Pointer to an OH_AVScreenCapture instance + * @param callback contentchanged callback function, see {@link OH_AVScreenCapture_OnCaptureContentChanged} + * @param userData Pointer to user specific data + * @return Function result code. + * {@link AV_SCREEN_CAPTURE_ERR_OK} if the execution is successful. + * {@link AV_SCREEN_CAPTURE_ERR_INVALID_VAL} input capture is nullptr or input callback is nullptr. + * {@link AV_SCREEN_CAPTURE_ERR_OPERATE_NOT_PERMIT} opertation not be permitted, set ErrorCallback failed. + * @since 20 + */ +OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetCaptureContentChangedCallback(struct OH_AVScreenCapture *capture, + OH_AVScreenCapture_OnCaptureContentChanged callback, void *userData) #ifdef __cplusplus } #endif diff --git a/multimedia/player_framework/native_avscreen_capture_base.h b/multimedia/player_framework/native_avscreen_capture_base.h index 85b1280d1..1d0ead1fd 100644 --- a/multimedia/player_framework/native_avscreen_capture_base.h +++ b/multimedia/player_framework/native_avscreen_capture_base.h @@ -481,6 +481,21 @@ typedef enum OH_AVScreenCaptureFilterableAudioContent { OH_SCREEN_CAPTURE_CURRENT_APP_AUDIO = 1, } OH_AVScreenCaptureFilterableAudioContent; +/** + * @brief Enumerates screen capture content state. + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * + * @since 20 + */ +typedef enum OH_AVScreenCaptureContentChangedEvent { + /** Content is hiden */ + OH_SCREEN_CAPTURE_CONTENT_HIDE = 0, + /** Content is visible */ + OH_SCREEN_CAPTURE_CONTENT_VISIBLE = 1, + /** ScreenCapture stopped by user */ + OH_SCREEN_CAPTURE_CONTENT_UNAVAILABLE = 2, +} OH_AVScreenCaptureContentChangedEvent; + /** * @brief When state of OH_AVScreenCapture is changed, the function pointer will be called. * @syscap SystemCapability.Multimedia.Media.AVScreenCapture @@ -532,6 +547,20 @@ typedef void (*OH_AVScreenCapture_OnBufferAvailable)(OH_AVScreenCapture *capture */ typedef void (*OH_AVScreenCapture_OnDisplaySelected)(OH_AVScreenCapture *capture, uint64_t displayId, void *userData); +/** + * @brief When Capture Content info changes, the function will be called to notify user + * @syscap SystemCapability.Multimedia.Media.AVScreenCapture + * @param {OH_AVScreenCapture*} capture Pointer to an OH_AVScreenCapture instance + * @param {OH_AVScreenCaptureContentChangedEvent} event enum for content change event + * @param {OH_Rect*} area capture content rect position + * @param { void*} userData Pointer to user specific data + * + * @since 20 + * @version 1.0 + */ +typedef void (*OH_AVScreenCapture_OnCaptureContentChanged)(OH_AVScreenCapture *capture, + OH_AVScreenCaptureContentChangedEvent event, OH_Rect *area, void *userData); + #ifdef __cplusplus } #endif -- Gitee From b5ebaf1f31f562a53a2a2d6525772615c159fd6e Mon Sep 17 00:00:00 2001 From: Trouvaille Date: Tue, 22 Apr 2025 16:48:47 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E5=BD=95=E5=B1=8F=E6=A1=86=E6=9E=B6?= =?UTF-8?q?=E5=85=81=E8=AE=B8=E5=BA=94=E7=94=A8=E8=AE=A2=E9=98=85=E5=BD=95?= =?UTF-8?q?=E5=88=B6=E7=AA=97=E5=8F=A3=E7=8A=B6=E6=80=81=E5=8F=98=E5=8C=96?= =?UTF-8?q?=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Trouvaille --- .../avscreen_capture/libnative_avscreen_capture.ndk.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json b/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json index d175c78a7..fd456c8df 100644 --- a/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json +++ b/multimedia/player_framework/avscreen_capture/libnative_avscreen_capture.ndk.json @@ -110,5 +110,9 @@ { "first_introduced": "18", "name": "OH_AVScreenCapture_SetDisplayCallback" + }, + { + "first_introduced": "20", + "name": "OH_AVScreenCapture_SetCaptureContentChangedCallback" } ] \ No newline at end of file -- Gitee From 18efa3e8166233548783bc3c5beea5724ef87b25 Mon Sep 17 00:00:00 2001 From: Trouvaille Date: Tue, 22 Apr 2025 17:17:59 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=BD=95=E5=B1=8F=E6=A1=86=E6=9E=B6?= =?UTF-8?q?=E5=85=81=E8=AE=B8=E5=BA=94=E7=94=A8=E8=AE=A2=E9=98=85=E5=BD=95?= =?UTF-8?q?=E5=88=B6=E7=AA=97=E5=8F=A3=E7=8A=B6=E6=80=81=E5=8F=98=E5=8C=96?= =?UTF-8?q?=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Trouvaille --- multimedia/player_framework/native_avscreen_capture_base.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/multimedia/player_framework/native_avscreen_capture_base.h b/multimedia/player_framework/native_avscreen_capture_base.h index 1d0ead1fd..dd1fb3a00 100644 --- a/multimedia/player_framework/native_avscreen_capture_base.h +++ b/multimedia/player_framework/native_avscreen_capture_base.h @@ -558,8 +558,8 @@ typedef void (*OH_AVScreenCapture_OnDisplaySelected)(OH_AVScreenCapture *capture * @since 20 * @version 1.0 */ -typedef void (*OH_AVScreenCapture_OnCaptureContentChanged)(OH_AVScreenCapture *capture, - OH_AVScreenCaptureContentChangedEvent event, OH_Rect *area, void *userData); +typedef void (*OH_AVScreenCapture_OnCaptureContentChanged)(OH_AVScreenCapture* capture, + OH_AVScreenCaptureContentChangedEvent event, OH_Rect* area, void *userData); #ifdef __cplusplus } -- Gitee From 4acbd9f0998dbb28dfef6515de412fcde7bf6844 Mon Sep 17 00:00:00 2001 From: Trouvaille Date: Tue, 22 Apr 2025 18:06:04 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E5=BD=95=E5=B1=8F=E6=A1=86=E6=9E=B6?= =?UTF-8?q?=E5=85=81=E8=AE=B8=E5=BA=94=E7=94=A8=E8=AE=A2=E9=98=85=E5=BD=95?= =?UTF-8?q?=E5=88=B6=E7=AA=97=E5=8F=A3=E7=8A=B6=E6=80=81=E5=8F=98=E5=8C=96?= =?UTF-8?q?=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Trouvaille --- multimedia/player_framework/native_avscreen_capture.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multimedia/player_framework/native_avscreen_capture.h b/multimedia/player_framework/native_avscreen_capture.h index 46c06c9c7..dd3f94ad4 100644 --- a/multimedia/player_framework/native_avscreen_capture.h +++ b/multimedia/player_framework/native_avscreen_capture.h @@ -478,7 +478,7 @@ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetDisplayCallback(struct OH_AVSc * @since 20 */ OH_AVSCREEN_CAPTURE_ErrCode OH_AVScreenCapture_SetCaptureContentChangedCallback(struct OH_AVScreenCapture *capture, - OH_AVScreenCapture_OnCaptureContentChanged callback, void *userData) + OH_AVScreenCapture_OnCaptureContentChanged callback, void *userData); #ifdef __cplusplus } #endif -- Gitee From cfb0857d3e2c8ee16728188a3f718471a33c6112 Mon Sep 17 00:00:00 2001 From: Trouvaille Date: Tue, 22 Apr 2025 19:36:12 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E5=BD=95=E5=B1=8F=E6=A1=86=E6=9E=B6?= =?UTF-8?q?=E5=85=81=E8=AE=B8=E5=BA=94=E7=94=A8=E8=AE=A2=E9=98=85=E5=BD=95?= =?UTF-8?q?=E5=88=B6=E7=AA=97=E5=8F=A3=E7=8A=B6=E6=80=81=E5=8F=98=E5=8C=96?= =?UTF-8?q?=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Trouvaille --- multimedia/player_framework/native_avscreen_capture_base.h | 1 - 1 file changed, 1 deletion(-) diff --git a/multimedia/player_framework/native_avscreen_capture_base.h b/multimedia/player_framework/native_avscreen_capture_base.h index dd1fb3a00..32b468279 100644 --- a/multimedia/player_framework/native_avscreen_capture_base.h +++ b/multimedia/player_framework/native_avscreen_capture_base.h @@ -560,7 +560,6 @@ typedef void (*OH_AVScreenCapture_OnDisplaySelected)(OH_AVScreenCapture *capture */ typedef void (*OH_AVScreenCapture_OnCaptureContentChanged)(OH_AVScreenCapture* capture, OH_AVScreenCaptureContentChangedEvent event, OH_Rect* area, void *userData); - #ifdef __cplusplus } #endif -- Gitee