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}";
                });
            }
        }
예제 #2
0
 public RemoteVideosTableDelegate(RemoteVideosTableDataSource dataSource, AgoraRtcEngineKit agoraKit)
 {
     _dataSource = dataSource;
     _agoraKit   = agoraKit;
 }