Public 成员函数

abstract int getMaxMetadataSize ()
 
abstract byte [] onReadyToSendMetadata (long timeStampMs)
 
abstract void onMetadataReceived (byte[] buffer, int uid, long timeStampMs)
 

静态 Public 属性

static final int UNKNOWN_METADATA = -1
 
static final int VIDEO_METADATA = 0
 

详细描述

IMetadataObserver 类定义。

自从
v2.4.1。
注解
该类包含的所有回调均需要在引擎的关键线程中实现。因此我们建议你在关键线程中避免耗时操作。

成员函数说明

◆ getMaxMetadataSize()

abstract int io.agora.rtc.IMetadataObserver.getMaxMetadataSize ( )
abstract

请求 Metadata 的最大数据大小。

Metadata 结构体由如下字段组成:

  • uid:发送 Metadata 数据的用户 ID
  • size:发送或收到的 Metadata 数据大小
  • buffer:发送或收到的 Metadata 数据
  • timeStampMs:该 Metadata 的时间戳

在成功调用 registerMediaMetadataObserver 完成注册后,SDK 会触发该回调;你需要在该方法的返回值中指定 Metadata 的最大数据大小。

SDK 会在使用过程中多次返回该回调,你可以在新的回调中更新 Metadata 的最大值。

返回
指定 Metadata 中 buffer 的最大数据大小,单位为 Byte,最大值不超过 1024。请确保在该返回值中进行传参

◆ onReadyToSendMetadata()

abstract byte [] io.agora.rtc.IMetadataObserver.onReadyToSendMetadata ( long  timeStampMs)
abstract

发送端已准备好发送 Metadata。

当 SDK 准备好接收和发送 Metadata 时,会触发该回调方法;你需要在该方法的返回值中指定想要发送的 Metadata。

注解
请确保在该方法中传入的 Metadata 大小不超过 getMaxMetadataSize 中设定的值。
参数
timeStampMs当前 Metadata 的时间戳,单位为毫秒
返回
指定用户想要发送的 Metadata,格式为 byte[]。请确保在该返回值中进行传参

◆ onMetadataReceived()

abstract void io.agora.rtc.IMetadataObserver.onMetadataReceived ( byte []  buffer,
int  uid,
long  timeStampMs 
)
abstract

接收端已接收 Metadata。

当接收到远端用户发送的 Metadata 时,SDK 会触发该回调。

参数
buffer接收到的 Metadata 数据 Buffer
uid发送该 Metadata 的远端用户的 ID
timeStampMs接收到的 Metadata 的时间戳,单位为毫秒

类成员变量说明

◆ UNKNOWN_METADATA

final int io.agora.rtc.IMetadataObserver.UNKNOWN_METADATA = -1
static

-1:Metadata 类型未知。

◆ VIDEO_METADATA

final int io.agora.rtc.IMetadataObserver.VIDEO_METADATA = 0
static

0:Metadata 类型为视频。