Exemple #1
0
        /// <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);
        }
Exemple #2
0
 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);
Exemple #3
0
 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);
Exemple #4
0
 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);
Exemple #5
0
 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);
Exemple #6
0
        /// <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);
        }
Exemple #7
0
        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);
        }
Exemple #8
0
 /// <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);
Exemple #10
0
        /// <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);
Exemple #14
0
 /// <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);
 }
Exemple #15
0
        /// <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);
        }
Exemple #16
0
 /// <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);
 }
Exemple #17
0
        /// <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);
        }
Exemple #18
0
 /// <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);
 }
Exemple #19
0
 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);