public async Task JoinChannel() { var dataSource = new RemoteVideosTableDataSource(_users); RemoteUsersTableView.DataSource = dataSource; RemoteUsersTableView.Delegate = new RemoteVideosTableDelegate(dataSource, _agoraKit); LoadingIndicator.Hidden = false; var token = await AgoraTokenService.GetRtcToken(Channel); if (string.IsNullOrEmpty(token)) { LoadingIndicator.Hidden = true; } else { _agoraKit.JoinChannelByToken(token, Channel, null, 0, (arg1, arg2, arg3) => { LoadingIndicator.Hidden = true; _localId = (uint)arg2; roomNameLabel.StringValue = $"Room name: {Channel}"; }); } }
public RemoteVideosTableDelegate(RemoteVideosTableDataSource dataSource, AgoraRtcEngineKit agoraKit) { _dataSource = dataSource; _agoraKit = agoraKit; }