媒体流附属信息分发
- Flutter
更新时间不可用
registerMediaMetadataObserver
注册媒体 metadata 观测器用于接收或发送 metadata。
void registerMediaMetadataObserver(
{required MetadataObserver observer, required MetadataType type});你需要自行实现 MetadataObserver 类并在本方法中指定 metadata 类型。本方法允许你为视频流添加同步的 metadata,用于多样化的直播互动,如发送购物链接、电子优惠券和在线测试。
注: 请在 joinChannel 前调用该方法。
参数
| 参数名 | 描述 |
|---|---|
observer | metadata 观测器。详见 MetadataObserver。 |
type |
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
sendMetaData
发送媒体附属信息。
Future<void> sendMetaData(
{required Metadata metadata, required VideoSourceType sourceType});如果成功发送了媒体附属信息,接收端会收到 onMetadataReceived 回调。
请确保 metadata 大小不超过 setMaxMetadataSize 中设置的最大值。如果超过该值,SDK 会截除超出部分。
参数
| 参数名 | 描述 |
|---|---|
metadata | 媒体附属信息。详见 Metadata。 |
sourceType | 视频源的类型,详见 VideoSourceType。 |
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
setMaxMetadataSize
设置媒体附属信息的最大大小。
Future<void> setMaxMetadataSize(int size);调用 registerMediaMetadataObserver 后,你可以调用本方法来设置媒体附属信息的最大大小。
参数
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
unregisterMediaMetadataObserver
取消注册媒体 metadata 观测器。
void unregisterMediaMetadataObserver(
{required MetadataObserver observer, required MetadataType type});参数
| 参数名 | 描述 |
|---|---|
observer | metadata 观测器,详见 MetadataObserver。 |
type |
返回值
方法成功调用时,无返回值;方法调用失败时,会抛出 AgoraRtcException 异常,你需要捕获异常并进行处理。详见错误码了解详情和解决建议。
- < 0:方法调用失败。详见错误码了解详情和解决建议。
所属接口类
onMetadataReceived
接收端已收到 metadata。
final void Function(Metadata metadata)? onMetadataReceived;参数
| 参数名 | 描述 |
|---|---|
metadata | 接收到的 metadata,详见 Metadata。 |