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); }
/// <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 }
/// <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 }
/// <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); }