媒体流附属信息分发
RegisterMediaMetadataObserver
注册媒体 metadata 观测器用于接收或发送 metadata。
C#
public abstract int RegisterMediaMetadataObserver(IMetadataObserver observer, METADATA_TYPE type);
你需要自行实现 IMetadataObserver 类并在本方法中指定 metadata 类型。本方法允许你为视频流添加同步的 metadata,用于多样化的直播互动,如发送购物链接、电子优惠券和在线测试。
信息
请在 JoinChannel [2/2] 前调用该方法。
参数
- observer
- metadata 观测器。详见 IMetadataObserver。
- type
- metadata 类型。目前仅支持
VIDEO_METADATA。详见 METADATA_TYPE。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
SendMetadata
发送媒体附属信息。
C#
public abstract int SendMetadata(Metadata metadata, VIDEO_SOURCE_TYPE source_type);
如果成功发送了媒体附属信息,接收端会收到 OnMetadataReceived 回调。
参数
- metadata
- 媒体附属信息。详见 Metadata。
- source_type
- 视频源的类型,详见 VIDEO_SOURCE_TYPE。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
SetMaxMetadataSize
设置媒体附属信息的最大大小。
C#
public abstract int SetMaxMetadataSize(int size);
调用 RegisterMediaMetadataObserver 后,你可以调用本方法来设置媒体附属信息的最大大小。
参数
- size
- 媒体附属信息的最大大小。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
UnregisterMediaMetadataObserver
OnMetadataReceived
OnReadyToSendMetadata
发送端已准备好发送 metadata。
C#
public virtual bool OnReadyToSendMetadata(ref Metadata metadata, VIDEO_SOURCE_TYPE source_type)
{
return false;
}
当 SDK 准备好发送 metadata 时,会触发该回调。
参数
- source_Type
- 视频数据类型。详见 VIDEO_SOURCE_TYPE。
- metadata
- 用户想要发送的 metadata。详见 Metadata。
返回值
- true: 发送
- false: 不发送