Beispiel #1
0
        internal override int JoinChannel()
        {
            int ret = -1;

            if (null != rtc_engine_)
            {
                ret = rtc_engine_.EnableAudio();
                CSharpForm.dump_handler_(VirtualBackground_TAG + "EnableAudio", ret);

                ret = rtc_engine_.EnableVideo();
                CSharpForm.dump_handler_(VirtualBackground_TAG + "EnableVideo", ret);

                VirtualBackgroundSource virtual_background_source = new VirtualBackgroundSource
                {
                    background_source_type = BACKGROUND_SOURCE_TYPE.BACKGROUND_IMG,
                    source = "../../../src/Advanced/VirtualBackground/virtual_back_ground.jpg"  // path to background image
                };

                ret = rtc_engine_.EnableVirtualBackground(true, virtual_background_source);
                CSharpForm.dump_handler_(VirtualBackground_TAG + "EnableVirtualBackground", ret);

                ret = rtc_engine_.JoinChannel("", channel_id_, "info");
                CSharpForm.dump_handler_(VirtualBackground_TAG + "JoinChannel", ret);
            }
            return(ret);
        }
Beispiel #2
0
        internal override int JoinChannel()
        {
            int ret = -1;

            if (null != rtc_engine_)
            {
                ret = rtc_engine_.EnableAudio();
                CSharpForm.dump_handler_(JoinMultipleChannel_TAG + "EnableAudio", ret);
                ret = rtc_engine_.EnableVideo();
                CSharpForm.dump_handler_(JoinMultipleChannel_TAG + "EnableVideo", ret);

                VideoCanvas vs = new VideoCanvas((ulong)local_win_id_, RENDER_MODE_TYPE.RENDER_MODE_FIT);
                ret = rtc_engine_.SetupLocalVideo(vs);
                CSharpForm.dump_handler_(JoinMultipleChannel_TAG + "SetupLocalVideo", ret);
            }

            if (null != first_channel_)
            {
                ret = first_channel_.JoinChannel("", "", 0, new ChannelMediaOptions(true, true, true, true));
                CSharpForm.dump_handler_(JoinMultipleChannel_TAG + "JoinChannel(ch1)", ret);
                ret = first_channel_.Publish();
                CSharpForm.dump_handler_(JoinMultipleChannel_TAG + "Publish(ch1)", ret);
            }

            if (null != second_channel_)
            {
                ret = second_channel_.JoinChannel("", "", 0, new ChannelMediaOptions(true, true, false, false));
                CSharpForm.dump_handler_(JoinMultipleChannel_TAG + "JoinChannel(ch2)", ret);
                // 同一时刻只能发布一路流
                //ret = second_channel_.Publish();
                //CSharpForm.dump_handler_(JoinMultipleChannel_TAG + "Publish(ch2)", ret);
            }
            return(ret);
        }
Beispiel #3
0
        internal override int UnInit()
        {
            int ret = -1;

            if (null != first_channel_)
            {
                first_channel_.Unpublish();
                ret = first_channel_.LeaveChannel();
                first_channel_.Dispose();
                CSharpForm.dump_handler_(JoinMultipleChannel_TAG + "LeaveChannel", ret);
            }

            if (null != second_channel_)
            {
                second_channel_.Unpublish();
                ret = second_channel_.LeaveChannel();
                second_channel_.Dispose();
                CSharpForm.dump_handler_(JoinMultipleChannel_TAG + "LeaveChannel", ret);
            }

            if (null != rtc_engine_)
            {
                rtc_engine_.Dispose(true);
                rtc_engine_ = null;
            }

            return(ret);
        }
        internal override int JoinChannel()
        {
            int ret = -1;

            if (null != rtc_engine_)
            {
                ret = rtc_engine_.EnableAudio();
                CSharpForm.dump_handler_("EnableAudio", ret);

                ret = rtc_engine_.EnableVideo();
                CSharpForm.dump_handler_("EnableVideo", ret);

                // disable echo if need
                //ret = rtc_engine.MuteAllRemoteAudioStreams(true);
                //CSharpForm.dump_handler("MuteAllRemoteAudioStreams", ret);

                ret = rtc_engine_.JoinChannel("", channel_id_, "info");
                CSharpForm.dump_handler_("JoinChannel", ret);
            }

            if (null != screen_share_engine_)
            {
                ret = startScreenShare();
                CSharpForm.dump_handler_(ScreenShare_TAG + "startScreenShare", ret);

                ret = screen_share_engine_.EnableVideo();
                CSharpForm.dump_handler_(ScreenShare_TAG + "EnableVideo", ret);

                ret = screen_share_engine_.JoinChannel("", channel_id_, "info");
                CSharpForm.dump_handler_(ScreenShare_TAG + "JoinChannel", ret);
            }

            return(ret);
        }
Beispiel #5
0
        internal override int Init(string appId, string channelId)
        {
            int ret = -1;

            app_id_     = appId;
            channel_id_ = channelId.Split(';').GetValue(0).ToString();

            if (null == rtc_engine_)
            {
                rtc_engine_ = AgoraRtcEngine.CreateAgoraRtcEngine();
            }
            LogConfig        log_config     = new LogConfig(agora_sdk_log_file_path_);
            RtcEngineContext rtc_engine_ctx = new RtcEngineContext(app_id_, AREA_CODE.AREA_CODE_GLOB, log_config);

            ret = rtc_engine_.Initialize(rtc_engine_ctx);
            CSharpForm.dump_handler_(ProcessRawData_TAG + "Initialize", ret);

            event_handler_ = new ProcessRawDataEventHandler(this);
            rtc_engine_.InitEventHandler(event_handler_);

            audio_frame_observer = new ProcessRawDataAudioFrameObserver();
            rtc_engine_.RegisterAudioFrameObserver(audio_frame_observer);

            video_frame_observer = new ProcessRawDataVideoFrameObserver();
            rtc_engine_.RegisterVideoFrameObserver(video_frame_observer);

            return(ret);
        }
        internal override int Init(string appId, string channelId)
        {
            int ret = -1;

            app_id_     = appId;
            channel_id_ = channelId.Split(';').GetValue(0).ToString();

            if (null == rtc_engine_)
            {
                rtc_engine_ = AgoraRtcEngine.CreateAgoraRtcEngine();
            }

            LogConfig        log_config     = new LogConfig(agora_sdk_log_file_path_);
            RtcEngineContext rtc_engine_ctx = new RtcEngineContext(app_id_, AREA_CODE.AREA_CODE_GLOB, log_config);

            ret = rtc_engine_.Initialize(rtc_engine_ctx);
            CSharpForm.dump_handler_(JoinChannelVideo_TAG + "Initialize", ret);
            // second way to set logfile
            //ret = rtc_engine_.SetLogFile(log_file_path);
            //CSharpForm.dump_handler_(JoinChannelVideo_TAG + "SetLogFile", ret);

            event_handler_ = new JoinChannelVideoEventHandler(this);
            rtc_engine_.InitEventHandler(event_handler_);

            return(ret);
        }
        internal override int Init(string appId, string channelId)
        {
            int ret = -1;

            app_id_     = appId;
            channel_id_ = channelId.Split(';').GetValue(0).ToString();

            if (null == rtc_engine_)
            {
                rtc_engine_ = AgoraRtcEngine.CreateAgoraRtcEngine();
            }
            LogConfig        log_config     = new LogConfig(agora_sdk_log_file_path_);
            RtcEngineContext rtc_engine_ctx = new RtcEngineContext(app_id_, AREA_CODE.AREA_CODE_GLOB, log_config);

            ret = rtc_engine_.Initialize(rtc_engine_ctx);
            CSharpForm.dump_handler_("Initialize", ret);
            event_handler_ = new ScreenShareEventHandler(this);
            rtc_engine_.InitEventHandler(event_handler_);

            if (null == screen_share_engine_)
            {
                screen_share_engine_ = AgoraRtcEngine.CreateAgoraRtcEngine(AgoraEngineType.SubProcess);
            }
            ret = screen_share_engine_.Initialize(rtc_engine_ctx);
            CSharpForm.dump_handler_(ScreenShare_TAG + "Initialize", ret);

            //screen_share_event_handler_ = new ScreenShareEventHandler(this);
            //screen_share_engine_.InitEventHandler(screen_share_event_handler_);

            return(ret);
        }
 public ConfigHelper()
 {
     // path to res/config/API_Example.ini
     config_file_path_ = System.IO.Directory.GetCurrentDirectory() + "/../../../res/config/API_Example.ini";
     if (!File.Exists(config_file_path_))
     {
         CSharpForm.dump_handler_(config_file_path_ + " not Exists!!!!", -1);
     }
 }
Beispiel #9
0
        internal override int LeaveChannel()
        {
            int ret = -1;

            if (null != rtc_engine_)
            {
                ret = rtc_engine_.LeaveChannel();
                CSharpForm.dump_handler_(VirtualBackground_TAG + "LeaveChannel", ret);
            }
            return(ret);
        }
        public void SetValue(string Section, string Key, string Value)
        {
            long OpStation = WritePrivateProfileString(Section, Key, Value, config_file_path_);

            if (OpStation == 0)
            {
                // fail
                string msg = "save " + Key + "/" + Value;
                CSharpForm.dump_handler_(msg, -1);
            }
        }
        internal override int LeaveChannel()
        {
            int ret = -1;

            if (null != rtc_engine_)
            {
                ret = rtc_engine_.LeaveChannel();
                CSharpForm.dump_handler_(JoinChannelVideo_TAG + "LeaveChannel", ret);
            }
            return(ret);
        }
Beispiel #12
0
        internal override int UnInit()
        {
            int ret = -1;

            if (null != rtc_engine_)
            {
                ret = rtc_engine_.LeaveChannel();
                CSharpForm.dump_handler_(JoinChannelAudio_TAG + "LeaveChannel", ret);

                rtc_engine_.Dispose();
                rtc_engine_ = null;
            }
            return(ret);
        }
        private int stopScreenShare()
        {
            int ret = -1;

            if (null != screen_share_engine_)
            {
                ret = screen_share_engine_.StopScreenCapture();
                CSharpForm.dump_handler_(ScreenShare_TAG + "StopScreenCapture", ret);

                ret = screen_share_engine_.LeaveChannel();
                CSharpForm.dump_handler_(ScreenShare_TAG + "LeaveChannel", ret);
            }
            return(ret);
        }
Beispiel #14
0
        internal override int JoinChannel()
        {
            int ret = -1;

            if (null != rtc_engine_)
            {
                ret = rtc_engine_.EnableAudio();
                CSharpForm.dump_handler_(JoinChannelAudio_TAG + "EnableAudio", ret);

                ret = rtc_engine_.JoinChannel("", channel_id_, "info");
                CSharpForm.dump_handler_(JoinChannelAudio_TAG + "JoinChannel", ret);
            }
            return(ret);
        }
        internal override int LeaveChannel()
        {
            int ret = -1;

            if (null != screen_share_engine_)
            {
                ret = stopScreenShare();
                CSharpForm.dump_handler_(ScreenShare_TAG + "stopScreenShare", ret);
            }

            if (null != rtc_engine_)
            {
                ret = rtc_engine_.LeaveChannel();
                CSharpForm.dump_handler_("LeaveChannel", ret);
            }
            return(ret);
        }
Beispiel #16
0
        internal override int LeaveChannel()
        {
            int ret = -1;

            if (null != first_channel_)
            {
                ret = first_channel_.LeaveChannel();
                CSharpForm.dump_handler_(JoinMultipleChannel_TAG + "LeaveChannel(ch1)", ret);
            }

            if (null != second_channel_)
            {
                ret = second_channel_.LeaveChannel();
                CSharpForm.dump_handler_(JoinMultipleChannel_TAG + "LeaveChannel(ch2)", ret);
            }

            return(ret);
        }
Beispiel #17
0
        internal override int Init(string appId, string channelId)
        {
            int ret = -1;

            app_id_ = appId;
            var channels = channelId.Split(';');

            if (channels.Length < 2)
            {
                return(-1);
            }
            first_channel_id_  = channelId.Split(';').GetValue(0).ToString();
            second_channel_id_ = channelId.Split(';').GetValue(1).ToString();

            if (null == rtc_engine_)
            {
                rtc_engine_ = AgoraRtcEngine.CreateAgoraRtcEngine();
            }
            LogConfig        log_config     = new LogConfig(agora_sdk_log_file_path_);
            RtcEngineContext rtc_engine_ctx = new RtcEngineContext(app_id_, AREA_CODE.AREA_CODE_GLOB, log_config);

            ret = rtc_engine_.Initialize(rtc_engine_ctx);
            CSharpForm.dump_handler_(JoinMultipleChannel_TAG + "Initialize", ret);
            //event_handler_ = new JoinMultipleChannelEventHandler(this);
            //rtc_engine_.InitEventHandler(event_handler_);
            rtc_engine_.SetChannelProfile(CHANNEL_PROFILE_TYPE.CHANNEL_PROFILE_LIVE_BROADCASTING);

            first_channel_ = rtc_engine_.CreateChannel(first_channel_id_);
            ret            = first_channel_.SetClientRole(CLIENT_ROLE_TYPE.CLIENT_ROLE_BROADCASTER);
            CSharpForm.dump_handler_(JoinMultipleChannel_TAG + "SetClientRole(ch1)", ret);
            first_channel_event_handler_ = new JoinMultipleChannelChannelEventHandler(this);
            first_channel_.InitEventHandler(first_channel_event_handler_);

            second_channel_ = rtc_engine_.CreateChannel(second_channel_id_);
            ret             = second_channel_.SetClientRole(CLIENT_ROLE_TYPE.CLIENT_ROLE_AUDIENCE);
            CSharpForm.dump_handler_(JoinMultipleChannel_TAG + "SetClientRole(ch2)", ret);
            second_channel_event_handler_ = new JoinMultipleChannelChannelEventHandler(this);
            second_channel_.InitEventHandler(second_channel_event_handler_);

            return(ret);
        }
        private int startScreenShare()
        {
            int ret = -1;

            if (null != screen_share_engine_)
            {
                //agora.rtc.Rectangle screenRect = new agora.rtc.Rectangle();
                //screenRect.height = Screen.PrimaryScreen.WorkingArea.Height;
                //screenRect.width = Screen.PrimaryScreen.WorkingArea.Width;
                //screenRect.x = Screen.PrimaryScreen.WorkingArea.X;
                //screenRect.y = Screen.PrimaryScreen.WorkingArea.Y;
                //ret = screen_share_engine.StartScreenCaptureByScreenRect(screenRect, regionRect, screen_para);
                //CSharpForm.dump_handler(ScreenShare_TAG + "StartScreenCaptureByScreenRect", ret);

                agora.rtc.Rectangle     regionRect  = new agora.rtc.Rectangle(0, 0, 1920, 1080);
                ScreenCaptureParameters screen_para = new ScreenCaptureParameters(new VideoDimensions(1920, 1080), 5, 0, true, false);

                ret = screen_share_engine_.StartScreenCaptureByDisplayId(0, regionRect, screen_para);
                CSharpForm.dump_handler_(ScreenShare_TAG + "StartScreenCaptureByDisplayId", ret);
            }
            return(ret);
        }
        internal override int UnInit()
        {
            int ret = -1;

            if (null != screen_share_engine_)
            {
                ret = screen_share_engine_.LeaveChannel();
                CSharpForm.dump_handler_(ScreenShare_TAG + "LeaveChannel", ret);

                screen_share_engine_.Dispose();
                screen_share_engine_ = null;
            }

            if (null != rtc_engine_)
            {
                ret = rtc_engine_.LeaveChannel();
                CSharpForm.dump_handler_("LeaveChannel", ret);

                rtc_engine_.Dispose();
                rtc_engine_ = null;
            }
            return(ret);
        }