本地截图上传

  • Android

更新时间不可用

enableContentInspect

启用或关闭本地截图上传功能。

Java
public abstract int enableContentInspect(boolean enabled, ContentInspectConfig config);

SDK 会根据在 ContentInspectConfig 中设置的模块类型和频率,对本地用户发送的视频进行截图并上传。完成截图和上传后,声网服务器会通过 HTTPS 请求将回调通知发送到你的应用服务器,并将所有截图发送到第三方云存储服务。

注:

  • 在调用该方法前,请确保你已在声网控制台启用本地截图上传功能。
  • 当视频审核模块设置为使用声网自研扩展(CONTENT_INSPECT_TYPE_SUPERVISE)进行视频审核时,需要使用本地截图上传动态库 agora_content_inspect_extension.so。删除该库将禁用截图上传功能。

调用时机

该方法可以在加入频道前或加入频道后调用。

参数

参数名描述
enabled

是否启用本地截图上传功能:

  • true:启用本地截图上传功能。
  • false:关闭本地截图上传功能。
config

截图上传配置,详见 ContentInspectConfig。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

enableContentInspectEx

启用或关闭本地截图上传功能。

Java
public abstract int enableContentInspectEx(boolean enabled, ContentInspectConfig config, RtcConnection connection);

启用该功能后,SDK 会根据你在 ContentInspectConfig 中设置的模块类型和频率,对本地用户发送的视频进行截图并上传。截图上传后,声网服务器会通过 HTTPS 请求将回调通知发送到你的应用服务器,并将所有截图上传至第三方云存储服务。

注: 在调用该方法前,请确保你已联系技术支持开通本地截图上传服务。

适用场景

该方法适用于多频道场景。

调用时机

该方法可在加入频道前或后调用。

参数

参数名描述
enabled

是否启用本地截图上传功能:

  • true:启用本地截图上传功能。
  • false:关闭本地截图上传功能。
config

截图上传的配置参数,详见 ContentInspectConfig。

connection

连接信息,详见 RtcConnection。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

takeSnapshot [1/2]

截取指定用户的视频流快照并保存为 JPG 图像。

Java
public abstract int takeSnapshot(int uid, String filePath);

注: 该方法为异步方法,调用返回时 SDK 尚未完成快照操作。当用于本地视频快照时,该方法会对 ChannelMediaOptions 中指定的视频流进行快照。如果用户的视频已进行预处理,例如添加水印或美颜,生成的快照将包含预处理效果。

调用时机

请在加入频道后调用该方法。

相关回调

调用该方法成功后,SDK 会触发 onSnapshotTaken 回调,报告快照是否成功以及快照的详细信息。

参数

参数名描述
uid

用户 ID。如果要截取本地用户的视频快照,请将 uid 设置为 0。

filePath

注: 请确保指定的路径存在且可写。

快照的本地路径(包含文件扩展名)。例如:

  • Android: /storage/emulated/0/Android/data/<package name>/files/example.jpg
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

takeSnapshot [2/2]

在指定的观察点截取视频截图。

Java
public abstract int takeSnapshot(int uid, SnapshotConfig config);

注:

  • 该方法为异步调用,调用返回时 SDK 尚未完成截图操作。
  • 当用于本地视频截图时,该方法会对 ChannelMediaOptions 中指定的视频流进行截图。

调用时机

请在加入频道后调用该方法。

相关回调

调用该方法成功后,SDK 会触发 onSnapshotTaken 回调,报告截图是否成功以及截图的详细信息。

参数

参数名描述
uid

用户 ID。如果要截取本地用户的视频,请将 uid 设置为 0。

config

截图的配置信息,详见 SnapshotConfig。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

takeSnapshotEx [1/2]

使用连接 ID 对视频流进行截图。

Java
public abstract int takeSnapshotEx(RtcConnection connection, int uid, String filePath);

注: takeSnapshotEx 为异步调用,调用该方法时 SDK 尚未完成截图操作。用于本地视频截图时,会对 ChannelMediaOptions 中指定的视频流进行截图。如果用户的视频已进行预处理(如添加水印或美颜),截图结果中会包含这些预处理效果。

适用场景

适用于多频道场景。

调用时机

请在调用 joinChannelEx 后调用该方法。

相关回调

调用该方法成功后,SDK 会触发 onSnapshotTaken 回调,报告截图是否成功以及截图的详细信息。

参数

参数名描述
connection

连接信息。详见 RtcConnection。

uid

用户 ID。如果要对本地用户的视频进行截图,请将 uid 设置为 0。

filePath

注: 请确保指定的路径存在且可写。

截图的本地路径(包含文件扩展名)。例如:

  • Android: /storage/emulated/0/Android/data/<package name>/files/example.jpg
表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

takeSnapshotEx [2/2]

通过连接 ID 获取指定用户的视频截图。

Java
public abstract int takeSnapshotEx(RtcConnection connection, int uid, SnapshotConfig config);

注:

  • 该方法为异步调用,调用该方法后 SDK 并不会立即完成截图。
  • 用于本地视频截图时,该方法会对 ChannelMediaOptions 中指定的视频流进行截图。
  • 如果用户的视频已进行预处理,例如添加水印或美颜,截图结果中会包含这些预处理效果。

适用场景

适用于多频道场景。

调用时机

请在调用 joinChannelEx 后调用该方法。

相关回调

调用该方法成功后,SDK 会触发 onSnapshotTaken 回调,报告截图是否成功以及截图的详细信息。

参数

参数名描述
connection

连接信息,详见 RtcConnection。

uid

用户 ID。如果要截取本地用户的视频,请将 uid 设置为 0。

config

截图的配置信息,详见 SnapshotConfig。

表格内容超出当前宽度,可横向滚动查看更多列。

返回值

  • 0:方法调用成功。
  • < 0:方法调用失败。详见错误码了解详情和解决建议。

所属接口类

onSnapshotTaken

视频截图结果回调。

Java
public void onSnapshotTaken(int uid, String filePath, int width, int height, int errCode)

该回调在调用 takeSnapshot 方法成功后被触发,用于报告截图的详细信息和是否成功。

触发时机

该回调在调用 takeSnapshot 方法成功后被触发。

参数

参数名描述
uid

用户 ID。uid 为 0 表示本地用户。

filePath

截图的本地路径。

width

截图的宽度(像素)。

height

截图的高度(像素)。

errCode

截图结果的错误码:

  • 0:成功。

  • < 0:失败:

    • -1:SDK 写入文件或编码 JPEG 图像失败。
    • -2:调用 takeSnapshot 方法成功后 1 秒内未找到指定用户的视频流。可能原因包括:本地采集停止、远端停止发布或视频数据处理阻塞。
    • -3:调用 takeSnapshot 方法过于频繁。
表格内容超出当前宽度,可横向滚动查看更多列。

所属接口类