本地截图上传
- C++
更新时间不可用
enableContentInspect
启用或关闭本地截图上传功能。
virtual int enableContentInspect(bool enabled, const media::ContentInspectConfig &config) = 0;启用该功能后,SDK 会根据你在 ContentInspectConfig 中设置的模块类型和频率,对本地用户发送的视频进行截图并上传。截图和上传完成后,声网服务器会通过 HTTPS 请求将回调通知发送到你的应用服务器,并将所有截图上传至第三方云存储服务。
注:
- 在调用该方法前,请确保你已在声网控制台启用了本地截图上传功能。
- 当视频审核模块设置为使用声网自研扩展(
CONTENT_INSPECT_SUPERVISION)进行视频审核时,需要使用本地截图上传动态库 libagora_content_inspect_extension.dll。删除该库将禁用截图上传功能。
调用时机
该方法可以在加入频道前或加入频道后调用。
参数
| 参数名 | 描述 |
|---|---|
enabled | |
config | 截图上传配置,详见 ContentInspectConfig。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
enableContentInspectEx
启用或关闭本地截图上传功能。
virtual int enableContentInspectEx(bool enabled, const media::ContentInspectConfig &config, const RtcConnection& connection) = 0;该方法可对多个视频流进行截图并上传。启用该功能后,SDK 会根据你在 ContentInspectConfig 中设置的模块类型和频率,对本地用户发送的视频进行截图并上传。截图上传完成后,声网服务器会通过 HTTPS 请求将回调通知发送至你的应用服务器,并将所有截图上传至第三方云存储服务。
注: 调用该方法前,请确保你已在声网控制台启用了本地截图上传功能。
适用场景
该方法适用于多频道场景。
调用时机
该方法可在加入频道前或加入频道后调用。
参数
| 参数名 | 描述 |
|---|---|
enabled | |
config | 截图和上传的配置。详见 ContentInspectConfig。 |
connection | 连接信息。详见 RtcConnection。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
takeSnapshot [1/2]
截取视频流快照。
virtual int takeSnapshot(uid_t uid, const char* filePath) = 0;该方法用于从指定用户的视频流中截取一帧图像,生成 JPG 图片,并保存到指定路径。
注:
- 该方法为异步调用,调用返回时 SDK 尚未完成截图操作。
- 用于本地视频截图时,该方法会对 ChannelMediaOptions 中指定的视频流进行截图。如果用户的视频已进行预处理,例如添加水印或美颜,截图结果中会包含这些预处理效果。
调用时机
请在加入频道后调用该方法。
相关回调
成功调用该方法后,SDK 会触发 onSnapshotTaken 回调,报告截图是否成功以及截图的详细信息。
参数
| 参数名 | 描述 |
|---|---|
uid | |
filePath |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
takeSnapshot [2/2]
截取指定观察点的视频截图。
virtual int takeSnapshot(uid_t uid, const media::SnapshotConfig& config) = 0;注:
- 该方法为异步方法,调用返回时 SDK 尚未完成截图操作。
- 用于本地视频截图时,会对 ChannelMediaOptions 中指定的视频流进行截图。
调用时机
在加入频道后调用该方法。
相关回调
成功调用该方法后,SDK 会触发 onSnapshotTaken 回调,报告截图是否成功以及截图的详细信息。
参数
| 参数名 | 描述 |
|---|---|
uid | |
config | 截图配置,详见 SnapshotConfig。 |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
takeSnapshotEx [1/2]
使用连接 ID 对指定用户的视频流进行截图。
virtual int takeSnapshotEx(const RtcConnection& connection, uid_t uid, const char* filePath) = 0;该方法为异步调用,调用该方法时 SDK 尚未完成截图操作。用于本地视频截图时,会对 ChannelMediaOptions 中指定的视频流进行截图。如果用户的视频已被预处理(如添加水印或美颜),截图结果中会包含这些预处理效果。
适用场景
适用于多频道场景。
调用时机
请在调用 joinChannelEx 后调用该方法。
相关回调
成功调用该方法后,SDK 会触发 onSnapshotTaken 回调,报告截图是否成功以及截图的详细信息。
参数
| 参数名 | 描述 |
|---|---|
connection | 连接信息,详见 RtcConnection。 |
uid | |
filePath |
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
takeSnapshotEx [2/2]
通过连接 ID 获取指定用户的视频截图。
virtual int takeSnapshotEx(const RtcConnection& connection, uid_t uid, const media::SnapshotConfig& config) = 0;该方法从指定用户的视频流中截取一帧图像,生成 JPG 图片,并保存到指定路径。截图结果中会包含视频预处理效果,例如水印或美颜。
注:
- 该方法为异步调用,调用返回时 SDK 尚未完成截图操作。
- 用于本地视频截图时,将对 ChannelMediaOptions 中指定的视频流进行截图。
适用场景
适用于多频道场景。
调用时机
请在调用 joinChannelEx 后调用该方法。
相关回调
成功调用该方法后,SDK 会触发 onSnapshotTaken 回调,报告截图是否成功以及截图的详细信息。
参数
| 参数名 | 描述 |
|---|---|
connection | 连接信息。详见 RtcConnection。 |
uid | |
config | 截图配置。详见 SnapshotConfig。 |
返回值
- 0:调用成功。
- < 0:调用失败。
所属接口类
onSnapshotTaken
截图结果回调。
virtual void onSnapshotTaken(uid_t uid, const char* filePath, int width, int height, int errCode)调用 takeSnapshot 方法成功后,SDK 会触发该回调,用于报告截图是否成功以及截图的详细信息。
触发时机
调用 takeSnapshot 方法成功后触发。