plv player sdk doc
载入中...
搜索中...
未找到
类型定义 | 函数
软硬防录制接口

类型定义

typedef void(* OnDetectSoftwareRecordingHandler) (SOFTWARE_RECORDING_NOTIFY_TYPE type, const char *softwares, void *data)
 软件录制的回调通知.
 
typedef void(* OnDetectHardwareRecordingHandler) (DEVICE_CHANGED_TYPE type, const char *device, void *data)
 硬件设备变动的回调通知, 此回调可以用于防止 HDMI 硬件录制, 业务侧可以根据回调类型进行播放器是否禁播操作.
 

函数

PLAYERSDK_API int PLAYERSDK_CALL PLVSetPreventSoftwareRecording (void *window, bool enable)
 设置播放窗口的软件防录制, 用于防止屏幕录制或屏幕截图.
 
PLAYERSDK_API int PLAYERSDK_CALL PLVGetPreventSoftwareRecording (void *window, bool *enable)
 获取播放窗口是否开启软件防录制.
 
PLAYERSDK_API int PLAYERSDK_CALL PLVSetDetectSoftwareRecordingHandler (bool enable, OnDetectSoftwareRecordingHandler handler, void *data)
 设置软件录制的回调通知.
 
PLAYERSDK_API int PLAYERSDK_CALL PLVSetDetectHardwareRecordingHandler (bool enable, OnDetectHardwareRecordingHandler handler, void *data)
 设置设备插拔变动的回调通知.
 

详细描述

类型定义说明

◆ OnDetectHardwareRecordingHandler

typedef void(* OnDetectHardwareRecordingHandler) (DEVICE_CHANGED_TYPE type, const char *device, void *data)

硬件设备变动的回调通知, 此回调可以用于防止 HDMI 硬件录制, 业务侧可以根据回调类型进行播放器是否禁播操作.

参数
[out]type设备变动类型.
[out]device设备标识.
[out]data用户自定义上下文数据.
注解
  • type = DEVICE_CHANGED_NONE, device = NULL.

在文件 plv-player-core-CN.h315 行定义.

◆ OnDetectSoftwareRecordingHandler

typedef void(* OnDetectSoftwareRecordingHandler) (SOFTWARE_RECORDING_NOTIFY_TYPE type, const char *softwares, void *data)

软件录制的回调通知.

参数
[out]type软件录制变动类型.
[out]software软件名称,例如: QQ,TeamViewer.
[out]data用户自定义上下文数据.

在文件 plv-player-core-CN.h288 行定义.

函数说明

◆ PLVGetPreventSoftwareRecording()

PLAYERSDK_API int PLAYERSDK_CALL PLVGetPreventSoftwareRecording ( void * window,
bool * enable )

获取播放窗口是否开启软件防录制.

参数
window窗口句柄.
[out]enable开关.
返回
  • 0: 成功.
  • > 0: 失败, 错误码.
注意
在winOS中,
  • window必须是顶层窗口,例如:WS_EX_APPWINDOW.

◆ PLVSetDetectHardwareRecordingHandler()

PLAYERSDK_API int PLAYERSDK_CALL PLVSetDetectHardwareRecordingHandler ( bool enable,
OnDetectHardwareRecordingHandler handler,
void * data )

设置设备插拔变动的回调通知.

参数
enable开关.
handler回调函数地址.
data用户自定义上下文数据.
返回
  • 0: 成功.
  • > 0: 失败, 错误码.

◆ PLVSetDetectSoftwareRecordingHandler()

PLAYERSDK_API int PLAYERSDK_CALL PLVSetDetectSoftwareRecordingHandler ( bool enable,
OnDetectSoftwareRecordingHandler handler,
void * data )

设置软件录制的回调通知.

参数
enable开关.
handler回调函数地址.
data用户自定义上下文数据.
返回
  • 0: 成功.
  • > 0: 失败, 错误码.
注解
在winOS中,设置此接口,当有注入程序试图修改系统防录制功能,SDK 会回调到上层, 由上层决定是否继续播放. 在macOS中,设置此接口,如果有第三方录制软件启动,SDK 会回调软件名称到上层, 由上层决定是否继续播放.
注意
在macOS中,需要系统的"完全磁盘访问权限".

◆ PLVSetPreventSoftwareRecording()

PLAYERSDK_API int PLAYERSDK_CALL PLVSetPreventSoftwareRecording ( void * window,
bool enable )

设置播放窗口的软件防录制, 用于防止屏幕录制或屏幕截图.

参数
window窗口句柄.
enable开关.
返回
  • 0: 成功.
  • > 0: 失败, 错误码.
注解
软件防录制功能,winOS 与 macOS 存在差异: 在 winOS 上: 调用此接口,所有录制软件抓不到设置的窗口画面. 在 macOS 上: 调用此接口,只有系统自带的录制软件抓不到窗口画面,其它第三方软件可以抓取到画面,需要配合@PLVSetDetectSoftwareRecordingHandler使用.
注意
在winOS中,@window必须是顶层窗口,例如:WS_EX_APPWINDOW.