updateChannelMediaRelay method

Future<int> updateChannelMediaRelay(
  1. NERtcChannelMediaRelayConfiguration config
)

更新媒体流转发的目标房间。

成功开始跨房间转发媒体流后,如果你希望将流转发到多个目标房间,或退出当前的转发房间,可以调用该方法。

  • 成功开始跨房间转发媒体流后,如果您需要修改目标房间,例如添加或删减目标房间等,可以调用此方法。
  • 成功调用此方法后,SDK 会触发 onMediaRelayStatesChangeonMediaRelayReceiveEvent 回调,并在回调中报告当前的跨房间媒体流转发状态和事件。

请在加入房间并成功调用 startChannelMediaRelay 开始跨房间媒体流转发后,调用此方法。 调用此方法前需要通过 NERtcChannelMediaRelayConfiguration 中的 NERtcChannelMediaRelayConfiguration.destMediaInfo 设置目标房间。 跨房间媒体流转发最多支持 4 个目标房间,您可以在调用该方法之前, 通过 NERtcChannelMediaRelayConfiguration 中的 NERtcChannelMediaRelayConfiguration.destMediaInfo 移除不需要的房间,再添加新的目标房间。

config 跨房间媒体流转发参数配置信息。详细信息请参考 NERtcChannelMediaRelayConfiguration

Implementation

Future<int> updateChannelMediaRelay(
    NERtcChannelMediaRelayConfiguration config) async {
  StartOrUpdateChannelMediaReplayRequest request =
      StartOrUpdateChannelMediaReplayRequest();
  request.sourceMediaInfo = config.sourceMediaInfo?._toMap();
  request.destMediaInfo = {};
  config.destMediaInfo.forEach((key, value) {
    request.destMediaInfo![key] = value._toMap();
  });
  IntValue reply = await _api.updateChannelMediaRelay(request);
  return reply.value ?? -1;
}