/// <summary>
        /// Setups the video.
        /// </summary>
        public virtual void SetupVideo(nuint uid)
        {
            var containers = _containers.Where(a => a.StreamUID == uid);

            if (containers.Count() == 0)
            {
                return;
            }
            foreach (var container in containers)
            {
                var canvas = new AgoraRtcVideoCanvas()
                {
                    View       = container.NativeView,
                    RenderMode = (VideoRenderMode)(int)container.VideoView.Mode,
                    Uid        = uid
                };
                container.VideoView.IsOffline = false;
                if (uid == 0 || uid == _myId)
                {
                    _agoraEngine.SetupLocalVideo(canvas);
                    _agoraEngine.StartPreview();
                }
                else
                {
                    _agoraEngine.SetupRemoteVideo(canvas);
                }
            }
        }
        /// <summary>
        /// Setups the video.
        /// </summary>
        public virtual void SetupVideo(Guid id)
        {
            var container = _containers.FirstOrDefault(a => a.GUID == id);

            if (container == null)
            {
                return;
            }
            var canvas = new AgoraRtcVideoCanvas()
            {
                View       = container.NativeView,
                RenderMode = (VideoRenderMode)(int)container.VideoView.Mode,
                Uid        = container.StreamUID
            };

            container.VideoView.IsOffline = false;
            if (container.StreamUID == 0 || container.StreamUID == _myId)
            {
                _agoraEngine.SetupLocalVideo(canvas);
                _agoraEngine.StartPreview();
            }
            else
            {
                _agoraEngine.SetupRemoteVideo(canvas);
            }
        }
Exemple #3
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            NavigationController.NavigationBarHidden = true;
            RoomNameLabel.Text = AgoraSettings.Current.RoomName;
            BackgroundTap.ShouldRequireFailureOfGestureRecognizer(BackgroundDoubleTap);
            AgoraDelegate = new AgoraRtcDelegate(this);
            AgoraKit      = AgoraRtcEngineKit.SharedEngineWithAppIdAndDelegate(AgoraTestConstants.AgoraAPI, AgoraDelegate);
            AgoraKit.SetChannelProfile(ChannelProfile.Communication);
            AgoraKit.EnableVideo();
            //var profile = AgoraSettings.Current.UseMySettings ? AgoraSettings.Current.Profile.ToAgoraRtcVideoProfile() : DT.Xamarin.Agora.VideoProfile.Default;
            //AgoraKit.SetVideoProfile(profile, false);
            AgoraRtcVideoCanvas videoCanvas = new AgoraRtcVideoCanvas();

            videoCanvas.Uid        = 0;
            videoCanvas.View       = LocalView;
            LocalView.Hidden       = false;
            videoCanvas.RenderMode = VideoRenderMode.Adaptive;
            AgoraKit.SetupLocalVideo(videoCanvas);
            if (!string.IsNullOrEmpty(AgoraSettings.Current.EncryptionPhrase))
            {
                AgoraKit.SetEncryptionMode(AgoraSettings.Current.EncryptionType.GetModeString());
                AgoraKit.SetEncryptionSecret(AgoraSettings.Current.EncryptionPhrase);
            }
            AgoraKit.StartPreview();
            AgoraKit.JoinChannelByToken(AgoraTestConstants.AgoraAPI, AgoraSettings.Current.RoomName, null, 0, JoiningCompleted);
        }
        void SetupLocalVideo()
        {
            var videoCanvas = new AgoraRtcVideoCanvas();

            videoCanvas.Uid        = 0;
            videoCanvas.View       = localVideo;
            videoCanvas.RenderMode = VideoRenderMode.Fit;
            agoraKit.SetupLocalVideo(videoCanvas);
        }
        private void SetUpLocalVideo()
        {
            AgoraRtcVideoCanvas videoCanvas = new AgoraRtcVideoCanvas();

            videoCanvas.Uid        = 0;
            videoCanvas.View       = this.LocalVideo;
            videoCanvas.RenderMode = AgoraRtcRenderMode.Adaptive;
            agoraKit.SetupLocalVideo(videoCanvas);
        }
        public void SetupLocalVideo()
        {
            var videoCanvas = new AgoraRtcVideoCanvas();

            videoCanvas.Uid        = 0;
            videoCanvas.View       = localVideo;
            videoCanvas.RenderMode = AgoraVideoRenderMode.Adaptive;
            _agoraKit.SetupLocalVideo(videoCanvas);
            localVideoMutedIndicator.Hidden = true;
            localVideoMuteBg.Hidden         = true;
        }
Exemple #7
0
        public void SetRemoteVideo(AgoraRtcEngineKit engine, nuint uid, CoreGraphics.CGSize size, nint elapse)
        {
            AgoraRtcVideoCanvas videoCanvas = new AgoraRtcVideoCanvas
            {
                Uid        = uid,
                View       = ContainerView,
                RenderMode = VideoRenderMode.Adaptive
            };

            _rtcEngine.SetupRemoteVideo(videoCanvas);
        }
        public void FirstRemoteVideoDecodedOfUid(AgoraRtcEngineKit engine, nuint uid, CoreGraphics.CGSize size, nint elapsed)
        {
            if (remoteVideo.Hidden)
            {
                remoteVideo.Hidden = false;
            }
            var videoCanvas = new AgoraRtcVideoCanvas();

            videoCanvas.Uid        = uid;
            videoCanvas.View       = remoteVideo;
            videoCanvas.RenderMode = VideoRenderMode.Adaptive;
            agoraKit.SetupRemoteVideo(videoCanvas);
        }
            public override void RtcEngine(AgoraRtcEngineKit engine, nuint uid, CoreGraphics.CGSize size, nint elapsed)
            {
                if (_viewController.remoteVideo.Hidden)
                {
                    _viewController.remoteVideo.Hidden = false;
                }
                AgoraRtcVideoCanvas videoCanvas = new AgoraRtcVideoCanvas();

                videoCanvas.Uid        = uid;
                videoCanvas.View       = _viewController.remoteVideo;
                videoCanvas.RenderMode = AgoraRtcRenderMode.Adaptive;
                _viewController.agoraKit.SetupRemoteVideo(videoCanvas);
            }
        public void FirstRemoteVideoDecodedOfUid(AgoraRtcEngineKit engine, nuint uid, CGSize size, nint elapsed)
        {
            if (remoteVideo.Hidden)
            {
                remoteVideo.Hidden = false;
            }
            remoteVideoMutedIndicator.Hidden = true;
            var videoCanvas = new AgoraRtcVideoCanvas();

            videoCanvas.Uid        = uid;
            videoCanvas.View       = remoteVideo;
            videoCanvas.RenderMode = AgoraVideoRenderMode.Adaptive;
            _agoraKit.SetupRemoteVideo(videoCanvas);
        }
        public override UITableViewCell GetCell(UITableView tableView, NSIndexPath indexPath)
        {
            var user      = UserList[indexPath.Row];
            var cell      = tableView.DequeueReusableCell(RemoteVideoCell.Key, indexPath) as RemoteVideoCell;
            var container = cell.CellView;
            AgoraRtcVideoCanvas videoCanvas = new AgoraRtcVideoCanvas
            {
                Uid        = user.Uid,
                View       = container,
                RenderMode = VideoRenderMode.Adaptive
            };

            _agoraKit.SetupRemoteVideo(videoCanvas);
            cell.IsHandUp     = user.IsHandUp;
            cell.IsAudioMuted = user.IsAudioMuted;
            cell.IsVideoMuted = user.IsVideoMuted;
            return(cell);
        }
Exemple #12
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();
            _rtcEngineDeletegate = new RtcEngineDelegate(this);
            _rtcEngine           = AgoraRtcEngineKit.SharedEngineWithAppIdAndDelegate("2cb3898040a64b88a9ca9763cc3d5667", _rtcEngineDeletegate);
            _rtcEngine.SetChannelProfile(ChannelProfile.Communication);
            _rtcEngine.EnableVideo();

            AgoraRtcVideoCanvas videoCanvas = new AgoraRtcVideoCanvas
            {
                Uid        = 0,
                View       = LocalView,
                RenderMode = VideoRenderMode.Adaptive
            };

            _rtcEngine.SetupLocalVideo(videoCanvas);
            _rtcEngine.JoinChannelByToken(string.Empty, "DEMOCHANNEL1", null, 0, JoinSuccessful);
        }
        public void FirstRemoteVideoDecodedOfUid(AgoraRtcEngineKit engine, nuint uid, CoreGraphics.CGSize size, nint elapsed)
        {
            _remoteId = (uint)uid;
            if (ContainerView.Hidden)
            {
                ContainerView.Hidden = false;
            }
            AgoraRtcVideoCanvas videoCanvas = new AgoraRtcVideoCanvas();

            videoCanvas.Uid        = uid;
            videoCanvas.View       = ContainerView;
            videoCanvas.RenderMode = VideoRenderMode.Adaptive;
            AgoraKit.SetupRemoteVideo(videoCanvas);
            if (ContainerView.Hidden)
            {
                ContainerView.Hidden = false;
            }
            RefreshDebug();
        }
Exemple #14
0
        public override NSView GetViewForItem(NSTableView tableView, NSTableColumn tableColumn, nint row)
        {
            var user = _dataSource.UserList[(int)row];
            var view = (RemoteVideoCell)tableView.MakeView(CellIdentifier, this);

            if (view == null)
            {
                view = new RemoteVideoCell();
            }

            AgoraRtcVideoCanvas videoCanvas = new AgoraRtcVideoCanvas
            {
                Uid        = user.Uid,
                View       = view.CellView,
                RenderMode = VideoRenderMode.Adaptive
            };

            _agoraKit.SetupRemoteVideo(videoCanvas);
            view.IsHandUp     = user.IsHandUp;
            view.IsAudioMuted = user.IsAudioMuted;
            view.IsVideoMuted = user.IsVideoMuted;
            return(view);
        }
Exemple #15
0
        private void InitAgoraRtc()
        {
            AudioMuted    = VideoMuted = false;
            AgoraDelegate = new AgoraRtcDelegate(this);
            _agoraKit     = AgoraRtcEngineKit.SharedEngineWithAppIdAndDelegate(AgoraTestConstants.AgoraAPI, AgoraDelegate);
            _agoraKit.SetChannelProfile(ChannelProfile.Communication);
            _agoraKit.EnableVideo();
            RemoteVideosContainer.DataSource = new RemoteVideosTableSource(_userList, _agoraKit);
            //var profile = AgoraSettings.Current.UseMySettings ? AgoraSettings.Current.Profile.ToAgoraRtcVideoProfile() : DT.Xamarin.Agora.VideoProfile.Default;
            //AgoraKit.SetVideoProfile(profile, false);
            AgoraRtcVideoCanvas videoCanvas = new AgoraRtcVideoCanvas();

            videoCanvas.Uid        = 0;
            videoCanvas.View       = LocalView;
            LocalView.Hidden       = false;
            videoCanvas.RenderMode = VideoRenderMode.Adaptive;
            _agoraKit.SetupLocalVideo(videoCanvas);
            if (!string.IsNullOrEmpty(AgoraSettings.Current.EncryptionPhrase))
            {
                _agoraKit.SetEncryptionMode(AgoraSettings.Current.EncryptionType.GetModeString());
                _agoraKit.SetEncryptionSecret(AgoraSettings.Current.EncryptionPhrase);
            }
            _agoraKit.StartPreview();
        }