/// <summary> /// 音视频网络探测接口 /// </summary> /// <param name="json_extension"></param> /// <param name="cb"> /// 回调函数json_extension keys: /// "task_id":uint64 任务id /// "loss":int 丢包率百分比 /// "rttmax":int rtt 最大值 /// "rttmin":int rtt 最小值 /// "rttavg":int rtt 平均值 /// "rttmdev":int rtt 偏差值 mdev /// "detailinfo":string 扩展信息 /// </param> /// <param name="user_data"></param> /// <returns>探测任务id /// 200:成功 /// 0:流程错误 /// 400:非法请求格式 /// 417:请求数据不对 /// 606:ip为内网ip /// 607:频率超限 /// 20001:探测类型错误 /// 20002:ip错误 /// 20003:sock错误 /// </returns> public static ulong DetectNetwork(string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data) { var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb); var ret = VChatNativeMethods.nim_vchat_net_detect(json_extension, VChatNormalOptCb, ptr); return(ret); }
private static extern void nim_vchat_set_custom_data(bool custom_audio, bool custom_video, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data);
private static extern void nim_vchat_create_room( [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string room_name, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string custom_info, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data);
private static extern void nim_vchat_set_member_in_blacklist( [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string uid, bool add, bool audio, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data);
internal static extern void nim_vchat_set_uid_picture_as_main([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string uid, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data);
/// <summary> /// 通话中修改自定义音视频数据模式 /// </summary> /// <param name="custom_audio">true:表示使用自定义的音频数据.false:表示不使用</param> /// <param name="custom_video">true:表示使用自定义的视频数据.false:表示不使用</param> /// <param name="json_extension">无效扩展字段</param> /// <param name="cb"></param> /// <param name="user_data">APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理</param> public static void SetCustomData(bool custom_audio, bool custom_video, string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data) { var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb); VChatNativeMethods.nim_vchat_set_custom_data(custom_audio, custom_video, json_extension, VChatNormalOptCb, ptr); }
public static void UpdateRtmpUrl(string rtmp_url, string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data) { var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb); VChatNativeMethods.nim_vchat_update_rtmp_url(rtmp_url, json_extension, VChatNormalOptCb, ptr); }
/// <summary> /// 通话中修改分辨率,只在多人中支持 /// </summary> /// <param name="video_quality"> 分辨率模式</param> /// <param name="json_extension">无效扩展字段</param> /// <param name="cb">返回的json_extension无效</param> /// <param name="user_data">APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理</param> public static void SetVideoQuality(int video_quality, string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data) { nim_vchat_set_video_quality(video_quality, json_extension, cb, user_data); }
internal static extern ulong nim_vchat_net_detect( [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data);
/// <summary> /// 设置单个成员的黑名单状态,即是否显示对方的音频或视频数据,当前通话有效(只能设置进入过房间的成员) /// </summary> /// <param name="uid">uid成员 account</param> /// <param name="add">true:添加到黑名单.false:从黑名单中移除</param> /// <param name="audio">ture:表示音频黑名单.false:表示视频黑名单</param> /// <param name="json_extension">无效扩展字段</param> /// <param name="cb">返回的json_extension无效</param> /// <param name="user_data"> APP的自定义数据,SDK只负责传回给回调函数cb,不做任何处理</param> public static void SetMemberInBlackList(string uid, bool add, bool audio, string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data) { var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb); VChatNativeMethods.nim_vchat_set_member_in_blacklist(uid, add, audio, json_extension, VChatNormalOptCb, ptr); }
internal static extern void nim_vchat_set_streaming_mode(bool streaming, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data);
internal static extern void nim_vchat_update_rtmp_url( [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string rtmp_url, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data);
internal static extern void nim_vchat_set_frame_rate(NIMVChatVideoFrameRate frame_rate, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data);
/// <summary> /// 设置单个成员的黑名单状态,即是否显示对方的音频或视频数据,当前通话有效(只能设置进入过房间的成员) /// </summary> /// <param name="uid">uid成员 account</param> /// <param name="add">true:添加到黑名单.false:从黑名单中移除</param> /// <param name="audio">ture:表示音频黑名单.false:表示视频黑名单</param> /// <param name="json_extension">无效扩展字段</param> /// <param name="cb">返回的json_extension无效</param> /// <param name="user_data"> APP的自定义数据,SDK只负责传回给回调函数cb,不做任何处理</param> public static void SetMemberInBlackList(string uid, bool add, bool audio, string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data) { nim_vchat_set_member_in_blacklist(uid, add, audio, json_extension, cb, user_data); }
/// <summary> /// 通话中修改分辨率 /// </summary> /// <param name="video_quality"> 分辨率模式</param> /// <param name="json_extension">无效扩展字段</param> /// <param name="cb">返回的json_extension无效</param> /// <param name="user_data">APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理</param> public static void SetVideoQuality(NIMVChatVideoQuality video_quality, string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data) { var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb); VChatNativeMethods.nim_vchat_set_video_quality(video_quality, json_extension, VChatNormalOptCb, ptr); }
/// <summary> /// 创建一个多人房间(后续需要主动调用加入接口进入房间) /// </summary> /// <param name="room_name">房间名</param> /// <param name="custom_info">自定义的房间信息(加入房间的时候会返回)</param> /// <param name="json_extension">无效扩展字段</param> /// <param name="cb">返回的json_extension无效</param> /// <param name="user_data">APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理</param> public static void CreateRoom(string room_name, string custom_info, string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data) { nim_vchat_create_room(room_name, custom_info, json_extension, cb, user_data); }
/// <summary> /// /// </summary> /// <param name="frame_rate"></param> /// <param name="json_extension"></param> /// <param name="cb"></param> /// <param name="user_data"></param> public static void SetFrameRate(NIMVChatVideoFrameRate frame_rate, string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data) { var ptr = NimUtility.DelegateConverter.ConvertToIntPtr(cb); VChatNativeMethods.nim_vchat_set_frame_rate(frame_rate, json_extension, VChatNormalOptCb, ptr); }
/// <summary> /// 通话中修改自定义音视频数据模式 /// </summary> /// <param name="custom_audio">true:表示使用自定义的音频数据.false:表示不使用</param> /// <param name="custom_video">true:表示使用自定义的视频数据.false:表示不使用</param> /// <param name="json_extension">无效扩展字段</param> /// <param name="cb"></param> /// <param name="user_data">APP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理</param> public static void SetCustomData(bool custom_audio, bool custom_video, string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data) { nim_vchat_set_custom_data(custom_audio, custom_video, json_extension, cb, user_data); }
internal static extern void nim_vchat_select_video_adaptive_strategy(NIMVChatVideoEncodeMode mode, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef = typeof(NimUtility.Utf8StringMarshaler))] string json_extension, nim_vchat_opt_cb_func cb, IntPtr user_data);