媒体流附属信息分发

  • Unity

更新时间不可用

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 大小不超过 SetMaxMetadataSize 中设置的最大值。如果超过该值,SDK 会截除超出部分。

参数

参数名描述
metadata

媒体附属信息。详见 Metadata。

source_type

视频源的类型,详见 VIDEO_SOURCE_TYPE。

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

返回值

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

所属接口类

SetMaxMetadataSize

设置媒体附属信息的最大大小。

C#
public abstract int SetMaxMetadataSize(int size);

调用 RegisterMediaMetadataObserver 后,你可以调用本方法来设置媒体附属信息的最大大小。

参数

参数名描述
size

媒体附属信息的最大大小。

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

返回值

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

所属接口类

UnregisterMediaMetadataObserver

取消注册媒体 metadata 观测器。

C#
public abstract int UnregisterMediaMetadataObserver();

返回值

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

所属接口类

OnMetadataReceived

接收端已收到 metadata。

C#
public virtual void OnMetadataReceived(Metadata metadata)
        {

        }

参数

参数名描述
metadata

接收到的 metadata,详见 Metadata。

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

所属接口类

OnReadyToSendMetadata

发送端已准备好发送 metadata。

C#
public virtual bool OnReadyToSendMetadata(ref Metadata metadata, VIDEO_SOURCE_TYPE source_type)
        {
            return false;
        }

当 SDK 准备好发送 metadata 时,会触发该回调。

请确保在该方法中传入的 metadata 大小不超过 SetMaxMetadataSize 中设定的值。如果超过该值,SDK 会截除超出部分。

参数

参数名描述
source_Type

视频数据类型。详见 VIDEO_SOURCE_TYPE。

metadata

用户想要发送的 metadata。详见 Metadata。

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

返回值

  • true: 发送
  • false: 不发送

所属接口类