updateForwardStreamToRooms method
@detail api
@author shenpengliang
@brief 更新跨房间媒体流转发信息。
通过 startForwardStreamToRooms{@link #RTCRoom#startForwardStreamToRooms} 发起媒体流转发后,可调用本方法增加或者减少目标房间,或更新房间密钥。
调用本方法增加或删减房间后,将在本端触发 onForwardStreamStateChanged{@link #IRTCRoomEventHandler#onForwardStreamStateChanged} 回调,包含发生了变动的目标房间中媒体流转发状态。
@param forwardStreamInfos 跨房间媒体流转发目标房间信息。参看 ForwardStreamInfo{@link #ForwardStreamInfo}。
@return
- 0: 成功。
- < 0: 失败。查看 ReturnStatus{@link #ReturnStatus} 获得更多错误说明。
@note
增加或删减目标房间后,新增目标房间中的用户将接收到本地用户进房 onUserJoined{@link #IRTCRoomEventHandler#onUserJoined} 和发布 onUserPublishStreamVideo{@link #IRTCRoomEventHandler#onUserPublishStreamVideo}、onUserPublishStreamAudio{@link #IRTCRoomEventHandler#onUserPublishStreamAudio} 回调。
Implementation
Future<int?> updateForwardStreamToRooms(
List<ForwardStreamInfo> forwardStreamInfos) async {
$a() => ($instance as $p_a.RTCRoom).updateForwardStreamToRooms(
forwardStreamInfos
.map(($item) => unpackObject<$p_a.ForwardStreamInfo>($item))
.toList());
$i() => ($instance as $p_i.ByteRTCRoom).updateForwardStreamToRooms(
forwardStreamInfos
.map(($item) =>
unpackObject<$p_i.ByteRTCForwardStreamConfiguration>($item))
.toList());
if (Platform.isAndroid) {
return $a();
} else if (Platform.isIOS) {
return $i();
} else {
throw UnsupportedError(
'Not Support Platform ${Platform.operatingSystem}');
}
}