媒体流附属信息分发
getMaxMetadataSize
请求最大的 metadata 大小。
ArkTS
getMaxMetadataSize?:() =>number;
详情
在成功调用 registerMediaMetadataObserver 完成注册后,SDK 会在发送每一个视频帧时触发一次该回调;你需要在该方法的返回值中指定 metadata 的最大数据大小。
返回值
指定 metadata 中 buffer 的最大数据大小,单位为 Byte,最大值不超过 1024。请确保在该返回值中进行传参。
所属接口类registerMediaMetadataObserver
注册媒体 metadata 观测器用于接收或发送 metadata。
ArkTS
public abstract registerMediaMetadataObserver(observer:IMetadataObserver,type:number):number;
详情
你需要自行实现 IMetadataObserver 类并在本方法中指定 metadata 类型。本方法允许你为视频流添加同步的 metadata,用于多样化的直播互动,如发送购物链接、电子优惠券和在线测试。
调用该方法成功后,SDK 会触发 getMaxMetadataSize 回调。
注意
请在 joinChannelWithOptions 前调用该方法。
参数
- observer
- metadata 观测器。详见 IMetadataObserver。
- type
metadata 类型。目前仅支持 VIDEO_METADATA。
返回值
- 0:方法调用成功。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
unregisterMediaMetadataObserver
取消注册媒体 metadata 观测器。
ArkTS
public abstract unregisterMediaMetadataObserver(observer:IMetadataObserver,type:number):number;
参数
- observer
- metadata 观测器,详见 IMetadataObserver。
- type
metadata 类型。目前仅支持 VIDEO_METADATA。
返回值
- < 0:方法调用失败。详见错误码了解详情和解决建议。
onMetadataReceived
接收端已收到 metadata。
ArkTS
onMetadataReceived?:(buffer:ArrayBuffer,uid:number,timeStampMs:bigint) =>void;
参数
- buffer
- 接收到的数据。
- timestampMs
- 时间戳。
onReadyToSendMetadata
发送端已准备好发送 metadata。
ArkTS
onReadyToSendMetadata?:(timeStampMs:bigint,sourceType:Constants.VideoSourceType) =>ArrayBuffer;
详情
当 SDK 准备好发送 metadata 时,会触发该回调。
参数
- timeStampMs
- 时间戳。视频数据类型。详见 VideoSourceType。
返回值
指定想要发送的 metadata,格式为 byte[]。请确保在该返回值中进行传参。
所属接口类