Esempio n. 1
0
        private ChatForm()
        {
            InitializeComponent();
            NIM.TalkAPI.OnReceiveMessageHandler += ReceiveMessageHandler;
            NIM.TalkAPI.OnSendMessageCompleted  += SendMessageResultHandler;
            this.FormClosed         += new FormClosedEventHandler(ChatForm_FormClosed);
            this.textBox1.DragEnter += TextBox1_DragEnter;
            this.textBox1.DragDrop  += TextBox1_DragDrop;

            _createroomcb = new NIMVChatOpt2Handler(CreateMultiVChatRoomCallback);
            _joinroomcb   = new NIMVChatOpt2Handler(JoinMultiVChatRoomCallback);
        }
 public InputRoomIdForm()
 {
     InitializeComponent();
     _joinroomcb = new NIMVChatOpt2Handler(JoinMultiVChatRoomCallback);
 }
Esempio n. 3
0
        /// <summary>
        ///创建一个多人房间(后续需要主动调用加入接口进入房间)
        /// </summary>
        /// <param name="room_name">房间名</param>
        /// <param name="custom_info">自定义的房间信息(加入房间的时候会返回)</param>
        /// <param name="createRoomInfo">json封装类,见NIMCreateRoomJsonEx</param>
        /// <param name="cb">结果回调</param>
        /// <returns>无返回值</returns>
        public static void CreateRoom(string room_name, string custom_info, NIMCreateRoomJsonEx createRoomInfo, NIMVChatOpt2Handler cb)
        {
#if NIMAPI_UNDER_WIN_DESKTOP_ONLY || UNITY_STANDALONE_WIN
            string json_extension = null;
            if (createRoomInfo != null)
            {
                json_extension = createRoomInfo.Serialize();
            }
            var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb);
            VChatNativeMethods.nim_vchat_create_room(room_name, custom_info, json_extension, VChatOpt2Cb, ptr);
#else
#endif
        }
Esempio n. 4
0
        /// <summary>
        /// 加入一个多人房间(进入房间后成员变化等,等同点对点NIMVChatHander)
        /// </summary>
        /// <param name="mode">音视频通话类型</param>
        /// <param name="room_name">房间名</param>
        /// <param name="joinRoomInfo">json封装类,见NIMJoinRoomJsonEx</param>
        /// <param name="cb">cb 结果回调,返回的json_extension扩展字段中包含 "custom_info","session_id"</param>
        /// <returns>bool true 调用成功,false 调用失败可能有正在进行的通话</returns>
        public static bool JoinRoom(NIMVideoChatMode mode, string room_name, NIMJoinRoomJsonEx joinRoomInfo, NIMVChatOpt2Handler cb)
        {
#if NIMAPI_UNDER_WIN_DESKTOP_ONLY || UNITY_STANDALONE_WIN
            if (joinRoomInfo == null)
            {
                joinRoomInfo = new NIMJoinRoomJsonEx();
                CustomLayout layout = new CustomLayout();
                layout.Hostarea     = new HostArea();
                layout.Background   = new BackGround();
                joinRoomInfo.Layout = layout.Serialize();
            }
            string json_extension = joinRoomInfo.Serialize();
            var    ptr            = NimUtility.DelegateConverter.ConvertToIntPtr(cb);
            return(VChatNativeMethods.nim_vchat_join_room(mode, room_name, json_extension, VChatOpt2Cb, ptr));
#else
            return(false);
#endif
        }
Esempio n. 5
0
        /// <summary>
        ///创建一个多人房间(后续需要主动调用加入接口进入房间)
        /// </summary>
        /// <param name="room_name">房间名</param>
        /// <param name="custom_info">自定义的房间信息(加入房间的时候会返回)</param>
        /// <param name="createRoomInfo">json封装类,见NIMCreateRoomJsonEx</param>
        /// <param name="cb">结果回调</param>
        /// <returns>无返回值</returns>
        public static void CreateRoom(string room_name, string custom_info, NIMCreateRoomJsonEx createRoomInfo, NIMVChatOpt2Handler cb)
        {
            string json_extension = null;

            if (createRoomInfo != null)
            {
                json_extension = createRoomInfo.Serialize();
            }
            var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb);

            VChatNativeMethods.nim_vchat_create_room(room_name, custom_info, json_extension, VChatOpt2Cb, ptr);
        }