NIM C# SDK  6.3.0
NIM Namespace Reference

Namespaces

namespace  DataSync
 
namespace  DocTransition
 
namespace  Friend
 
namespace  Message
 
namespace  Messagelog
 
namespace  NIM
 
namespace  NimException
 
namespace  NIMRts
 
namespace  Nos
 
namespace  Plugin
 
namespace  Properties
 
namespace  Robot
 
namespace  Session
 
namespace  Signaling
 
namespace  SysMessage
 
namespace  Team
 
namespace  User
 

Classes

class  BackGround
 
class  CacheFileInfo
 
class  ClientAPI
 NIM SDK提供的Client接口,主要包括SDK初始化/清理、客户端登录/退出/重连/掉线/被踢等流程 More...
 
class  ClientNativeMethods
 
class  ConfigMultiportPushParam
 
class  CustomLayout
 
class  DeviceAPI
 
class  DeviceNativeMethods
 
class  DndConfigParam
 客户端传入的属性(如果开启免打扰,请让第三方确保把时间转成东八区,即北京时间,小时是24小时制) More...
 
class  GlobalAPI
 
class  HostArea
 
class  LoginResultEventArgs
 
class  MessageAck
 
class  MessageArcEventArgs
 
class  MessageFactory
 
class  MonoPInvokeCallbackAttribute
 Do nothing on windows desktop More...
 
class  NativeConfig
 native dll 信息 More...
 
class  NetDetectResult
 网络探测结果 More...
 
class  NIMAudioAttachment
 
class  NIMAudioInfo
 语音信息,用于语音转文字 More...
 
class  NIMAudioMessage
 
class  NIMBroadcastMessage
 广播消息 More...
 
class  NIMCreateRoomJsonEx
 创建聊天室的json扩展封装类 More...
 
class  NIMCustomAudioDataInfo
 自定义音频数据参数 More...
 
class  NIMCustomMessage
 自定义消息基类 More...
 
class  NIMCustomVideoDataInfo
 
class  NIMDeviceInfo
 设备属性 More...
 
class  NIMDeviceInfoList
 设备属性列表 More...
 
class  NIMEventConfig
 
class  NIMEventInfo
 事件信息 More...
 
class  NIMFileMessage
 
class  NIMGlobal
 
class  NIMGlobalNativeMethods
 
class  NIMImageAttachment
 
class  NIMImageMessage
 
class  NIMIMMessage
 
class  NIMJoinRoomJsonEx
 加入聊天室的josn拓展封装类 More...
 
class  NIMKickOtherResult
 
class  NIMKickoutOtherDeviceInfo
 
class  NIMKickoutResult
 
class  NIMLocationMessage
 
class  NIMLocationMsgInfo
 
class  NIMLoginResult
 
class  NIMLogoutResult
 
class  NIMMessageAttachment
 
class  NIMMessageSetting
 消息属性设置 More...
 
class  NIMMultiClientLoginInfo
 
class  NIMMultiSpotLoginNotifyResult
 
class  NIMReceivedMessage
 
class  NIMReceiveMessageEventArgs
 
class  NIMStartDeviceJsonEX
 
class  NIMSubscribeApi
 
class  NIMSubscribeNativeMethods
 
class  NIMSubscribeStatus
 事件订阅信息 More...
 
class  NIMTeamNotification
 
class  NIMTeamNotificationMessage
 
class  NIMTextMessage
 
class  NIMTipMessage
 
class  NIMTools
 
class  NIMUnknownMessage
 
class  NimUploadProgressData
 nos 上传进度回调 More...
 
class  NIMVchatAudioVolumeState
 音量状态 More...
 
class  NIMVChatAuRecordState
 
class  NIMVChatCustomAudioJsonEx
 
class  NIMVChatCustomVideoJsonEx
 
class  NIMVChatInfo
 发起和接受通话时的参数 More...
 
class  NIMVChatLiveState
 直播状态 More...
 
class  NIMVChatMP4RecordJsonEx
 录制MP4文件接口封装的json类 More...
 
class  NIMVChatMP4State
 
class  NIMVChatNetDetectJsonEx
 
class  NIMVChatRealtimeState
 实时状态 More...
 
class  NIMVChatResourceJsonEx
 
class  NIMVChatSessionInfo
 
struct  NIMVChatSessionStatus
 音视频相关的回调 More...
 
class  NIMVideoAttachment
 
class  NIMVideoMessage
 
class  NotificationData
 
class  RecallNotification
 消息撤回通知 More...
 
class  ReceiveMessageArgs
 
class  RobotInfo
 机器人信息 More...
 
class  RtsAPI
 
class  TalkAPI
 消息相关api More...
 
class  TalkNativeMethods
 
class  TeamForecePushMessage
 群强推消息 More...
 
class  ToolsAPI
 
class  VChatAPI
 
class  VChatNativeMethods
 

Enumerations

enum  NIMLogoutType { NIMLogoutType.kNIMLogoutChangeAccout = 1, NIMLogoutType.kNIMLogoutKickout = 2, NIMLogoutType.kNIMLogoutAppExit = 3, NIMLogoutType.kNIMLogoutRelogin = 4 }
 Logout类型 More...
 
enum  NIMKickReason { NIMKickReason.kNIMKickReasonSameGeneric = 1, NIMKickReason.kNIMKickReasonServerKick = 2, NIMKickReason.kNIMKickReasonKickBySelfOtherClient = 3 }
 被踢原因 More...
 
enum  NIMClientType {
  NIMClientType.kNIMClientTypeAndroid = 1, NIMClientType.kNIMClientTypeiOS = 2, NIMClientType.kNIMClientTypePCWindows = 4, NIMClientType.kNIMClientTypeWeb = 16,
  NIMClientType.kNIMClientTypeRestAPI = 32, NIMClientType.kNIMClientTypeMacOS = 64
}
 客户端类型 More...
 
enum  NIMLoginStep { NIMLoginStep.kNIMLoginStepLinking = 0, NIMLoginStep.kNIMLoginStepLink = 1, NIMLoginStep.kNIMLoginStepLogining = 2, NIMLoginStep.kNIMLoginStepLogin = 3 }
 登录步骤 More...
 
enum  NIMMultiSpotNotifyType { NIMMultiSpotNotifyType.kNIMMultiSpotNotifyTypeImIn = 2, NIMMultiSpotNotifyType.kNIMMultiSpotNotifyTypeImOut = 3 }
 多点登录通知类型 More...
 
enum  NIMLoginState { NIMLoginState.kNIMLoginStateLogin = 1, NIMLoginState.kNIMLoginStateUnLogin = 2 }
 登录状态 More...
 
enum  NIMProxyDetectStep { NIMProxyDetectStep.kNIMProxyDetectStepAllComplete = 5 }
 代理测试步骤 More...
 
enum  NIMProxyType {
  NIMProxyType.kNIMProxyNone = 0, NIMProxyType.kNIMProxyHttp11 = 1, NIMProxyType.kNIMProxySocks4 = 4, NIMProxyType.kNIMProxySocks4a = 5,
  NIMProxyType.kNIMProxySocks5 = 6
}
 代理类型 More...
 
enum  NetDetectionRes {
  NetDetectionRes.ProcessError = 0, NetDetectionRes.Success = 200, NetDetectionRes.InvalidRequest = 400, NetDetectionRes.DataError = 417,
  NetDetectionRes.InnerIP = 606, NetDetectionRes.OutOfLimit = 607, NetDetectionRes.TypeError = 20001, NetDetectionRes.IPError = 20002,
  NetDetectionRes.SocketError = 20003
}
 网络探测错误 More...
 
enum  NIMSDKException { NIMSDKException.kNIMSDKExceptionSpaceEmpty = 1 }
 sdk异常 More...
 
enum  CacheFileType { CacheFileType.Misc, CacheFileType.Image, CacheFileType.Audio, CacheFileType.Video }
 sdk缓存文件类型 More...
 
enum  NIMDeviceType {
  NIMDeviceType.kNIMDeviceTypeAudioIn = 0, NIMDeviceType.kNIMDeviceTypeAudioOut = 1, NIMDeviceType.kNIMDeviceTypeAudioOutChat = 2, NIMDeviceType.kNIMDeviceTypeVideo = 3,
  NIMDeviceType.kNIMDeviceTypeSoundcardCapturer = 4, NIMDeviceType.kNIMDeviceTypeAudioHook =5
}
 设备类型 More...
 
enum  NIMDeviceStatus {
  NIMDeviceStatus.kNIMDeviceStatusNoChange = 0x0, NIMDeviceStatus.kNIMDeviceStatusChange = 0x1, NIMDeviceStatus.kNIMDeviceStatusWorkRemove = 0x2, NIMDeviceStatus.kNIMDeviceStatusReset = 0x4,
  NIMDeviceStatus.kNIMDeviceStatusStart = 0x8, NIMDeviceStatus.kNIMDeviceStatusEnd = 0x10
}
 设备状态类型 More...
 
enum  NIMVideoSubType { NIMVideoSubType.kNIMVideoSubTypeARGB = 0, NIMVideoSubType.kNIMVideoSubTypeRGB = 1, NIMVideoSubType.kNIMVideoSubTypeI420 = 2 }
 NIMVideoSubType 视频格式类型 More...
 
enum  NIMAudioDataCbType { NIMAudioDataCbType.kNIMAudioDataCbTypeHook = 1, NIMAudioDataCbType.kNIMAudioDataCbTypeHookAndMic = 2 }
 NIMAudioDataCbType 音频数据监听类型 More...
 
enum  NIMMessageType {
  NIMMessageType.kNIMMessageTypeText = 0, NIMMessageType.kNIMMessageTypeImage = 1, NIMMessageType.kNIMMessageTypeAudio = 2, NIMMessageType.kNIMMessageTypeVideo = 3,
  NIMMessageType.kNIMMessageTypeLocation = 4, NIMMessageType.kNIMMessageTypeNotification = 5, NIMMessageType.kNIMMessageTypeFile = 6, NIMMessageType.kNIMMessageTypeTips = 10,
  NIMMessageType.kNIMMessageTypeRobot = 11, NIMMessageType.kNIMMessageTypeCustom = 100, NIMMessageType.kNIMMessageTypeUnknown = 1000
}
 
enum  NIMMessageFeature {
  NIMMessageFeature.kNIMMessageFeatureDefault = 0, NIMMessageFeature.kNIMMessageFeatureLeaveMsg = 1, NIMMessageFeature.kNIMMessageFeatureRoamMsg = 2, NIMMessageFeature.kNIMMessageFeatureSyncMsg = 3,
  NIMMessageFeature.kNIMMessageFeatureCustomizedMsg = 4
}
 
enum  NIMMessageSettingStatus { NIMMessageSettingStatus.kNIMMessageStatusUndefine = -1, NIMMessageSettingStatus.kNIMMessageStatusNotSet = 0, NIMMessageSettingStatus.kNIMMessageStatusSetted = 1 }
 
enum  NIMAppDataType { NIMAppDataType.kNIMAppDataTypeUnknownOtherRes = 0, NIMAppDataType.kNIMAppDataTypeImage = 1, NIMAppDataType.kNIMAppDataTypeAudio = 2, NIMAppDataType.kNIMAppDataTypeVideo = 3 }
 AppData类型 More...
 
enum  NIMRobotInfoChangeType { NIMRobotInfoChangeType.kNIMRobotInfoChangeTypeAll = 0 }
 机器人信息变更类型 More...
 
enum  NIMEventBroadcastType { NIMEventBroadcastType.kNIMEventBroadcastTypeOnline = 1, NIMEventBroadcastType.kNIMEventBroadcastTypeAll = 2 }
 事件广播类型 More...
 
enum  NIMEventSyncType { NIMEventSyncType.kNIMEventSyncTypeNoSelf = 0, NIMEventSyncType.kNIMEventSyncTypeSelf = 1 }
 事件同步类型 More...
 
enum  NIMEventSubscribeSyncEventType { NIMEventSubscribeSyncEventType.kNIMEventSubscribeSyncTypeUnSync = 0, NIMEventSubscribeSyncEventType.kNIMEventSubscribeSyncTypeSync = 1 }
 订阅的事件的同步类型 More...
 
enum  NIMEventType { NIMEventType.kNIMEventTypeOnlineState = 1, NIMEventType.kNIMEventTypeSyncEvent = 2, NIMEventType.kNIMEventTypeCustom = 100000 }
 服务器预定义的事件类型 More...
 
enum  NIMEventOnlineStateValue {
  NIMEventOnlineStateValue.kNIMEventOnlineStateValueLogin = 1, NIMEventOnlineStateValue.kNIMEventOnlineStateValueLogout = 2, NIMEventOnlineStateValue.kNIMEventOnlineStateValueDisconnect = 3, NIMEventOnlineStateValue.kNIMEventOnlineStateValueCustom = 10000,
  NIMEventOnlineStateValue.kNIMEventOnlineStateValueUpdateConfig = kNIMEventOnlineStateValueCustom + 1
}
 在线状态事件值 More...
 
enum  NIMVideoChatSessionType {
  NIMVideoChatSessionType.kNIMVideoChatSessionTypeStartRes = 1, NIMVideoChatSessionType.kNIMVideoChatSessionTypeInviteNotify = 2, NIMVideoChatSessionType.kNIMVideoChatSessionTypeCalleeAckRes = 3, NIMVideoChatSessionType.kNIMVideoChatSessionTypeCalleeAckNotify = 4,
  NIMVideoChatSessionType.kNIMVideoChatSessionTypeControlRes = 5, NIMVideoChatSessionType.kNIMVideoChatSessionTypeControlNotify = 6, NIMVideoChatSessionType.kNIMVideoChatSessionTypeConnect = 7, NIMVideoChatSessionType.kNIMVideoChatSessionTypePeopleStatus = 8,
  NIMVideoChatSessionType.kNIMVideoChatSessionTypeNetStatus = 9, NIMVideoChatSessionType.kNIMVideoChatSessionTypeHangupRes = 10, NIMVideoChatSessionType.kNIMVideoChatSessionTypeHangupNotify = 11, NIMVideoChatSessionType.kNIMVideoChatSessionTypeSyncAckNotify = 12,
  NIMVideoChatSessionType.kNIMVideoChatSessionTypeMp4Notify = 13, NIMVideoChatSessionType.kNIMVideoChatSessionTypeInfoNotify = 14, NIMVideoChatSessionType.kNIMVideoChatSessionTypeVolumeNotify = 15, NIMVideoChatSessionType.kNIMVideoChatSessionTypeAuRecordNotify = 16,
  NIMVideoChatSessionType.kNIMVideoChatSessionTypeLiveState = 17
}
 NIMVideoChatSessionType 音视频通话状态通知类型 More...
 
enum  NIMVChatControlType {
  NIMVChatControlType.kNIMTagControlOpenAudio = 1, NIMVChatControlType.kNIMTagControlCloseAudio = 2, NIMVChatControlType.kNIMTagControlOpenVideo = 3, NIMVChatControlType.kNIMTagControlCloseVideo = 4,
  NIMVChatControlType.kNIMTagControlAudioToVideo = 5, NIMVChatControlType.kNIMTagControlAgreeAudioToVideo = 6, NIMVChatControlType.kNIMTagControlRejectAudioToVideo = 7, NIMVChatControlType.kNIMTagControlVideoToAudio = 8,
  NIMVChatControlType.kNIMTagControlBusyLine = 9, NIMVChatControlType.kNIMTagControlCamaraNotAvailable = 10, NIMVChatControlType.kNIMTagControlEnterBackground = 11, NIMVChatControlType.kNIMTagControlReceiveStartNotifyFeedback = 12,
  NIMVChatControlType.kNIMTagControlMp4StartRecord = 13, NIMVChatControlType.kNIMTagControlMp4StopRecord = 14
}
 音视频通话控制类型 More...
 
enum  NIMVideoChatMode { NIMVideoChatMode.kNIMVideoChatModeAudio = 1, NIMVideoChatMode.kNIMVideoChatModeVideo = 2 }
 音视频通话类型 More...
 
enum  NIMVideoChatSessionStatus { NIMVideoChatSessionStatus.kNIMVideoChatSessionStatusJoined = 0, NIMVideoChatSessionStatus.kNIMVideoChatSessionStatusLeaved = 1, NIMVideoChatSessionStatus.kNIMVideoChatSessionStatusTimeOutLeaved = 2 }
 音视频通话成员变化类型 More...
 
enum  NIMVideoChatSessionNetStat {
  NIMVideoChatSessionNetStat.kNIMVideoChatSessionNetStatVeryGood = 0, NIMVideoChatSessionNetStat.kNIMVideoChatSessionNetStatGood = 1, NIMVideoChatSessionNetStat.kNIMVideoChatSessionNetStatPoor = 2, NIMVideoChatSessionNetStat.kNIMVideoChatSessionNetStatBad = 3,
  NIMVideoChatSessionNetStat.kNIMVideoChatSessionNetStatVeryBad = 4
}
 音视频通话网络变化类型 More...
 
enum  NIMVChatVideoQuality {
  NIMVChatVideoQuality.kNIMVChatVideoQualityNormal = 0, NIMVChatVideoQuality.kNIMVChatVideoQualityLow = 1, NIMVChatVideoQuality.kNIMVChatVideoQualityMedium = 2, NIMVChatVideoQuality.kNIMVChatVideoQualityHigh = 3,
  NIMVChatVideoQuality.kNIMVChatVideoQualitySuper = 4, NIMVChatVideoQuality.kNIMVChatVideoQuality720p = 5, NIMVChatVideoQuality.kNIMVChatVideoQuality540p = 6
}
 视频通话分辨率,最终长宽比不保证 More...
 
enum  NIMVChatVideoFrameRate {
  NIMVChatVideoFrameRate.kNIMVChatVideoFrameRateNormal = 0, NIMVChatVideoFrameRate.kNIMVChatVideoFrameRate5 = 1, NIMVChatVideoFrameRate.kNIMVChatVideoFrameRate10 = 2, NIMVChatVideoFrameRate.kNIMVChatVideoFrameRate15 = 3,
  NIMVChatVideoFrameRate.kNIMVChatVideoFrameRate20 = 4, NIMVChatVideoFrameRate.kNIMVChatVideoFrameRate25 = 5
}
 NIMVChatVideoFrameRate 视频通话帧率,实际帧率因画面采集频率和机器性能限制可能达不到期望值 More...
 
enum  NIMVChatConnectErrorCode {
  NIMVChatConnectErrorCode.kNIMVChatConnectDisconn = 0, NIMVChatConnectErrorCode.kNIMVChatConnectStartFail = 1, NIMVChatConnectErrorCode.kNIMVChatConnectTimeout = 101, NIMVChatConnectErrorCode.kNIMVChatConnectMeetingModeError = 102,
  NIMVChatConnectErrorCode.kNIMVChatConnectRtmpModeError = 103, NIMVChatConnectErrorCode.kNIMVChatConnectRtmpNodesError = 104, NIMVChatConnectErrorCode.kNIMVChatConnectRtmpHostError = 105, NIMVChatConnectErrorCode.kNIMVChatConnectSuccess = 200,
  NIMVChatConnectErrorCode.kNIMVChatConnectLayoutError = 208, NIMVChatConnectErrorCode.kNIMVChatConnectInvalidParam = 400, NIMVChatConnectErrorCode.kNIMVChatConnectDesKey = 401, NIMVChatConnectErrorCode.kNIMVChatConnectInvalidRequst = 417,
  NIMVChatConnectErrorCode.kNIMVChatConnectServerUnknown = 500, NIMVChatConnectErrorCode.kNIMVChatConnectLogout = 1001, NIMVChatConnectErrorCode.kNIMVChatChannelStartFail = 11000, NIMVChatConnectErrorCode.kNIMVChatChannelDisconnected = 11001,
  NIMVChatConnectErrorCode.kNIMVChatVersionSelfLow = 11002, NIMVChatConnectErrorCode.kNIMVChatVersionRemoteLow = 11003, NIMVChatConnectErrorCode.kNIMVChatLocalChannelClosed = 11004, NIMVChatConnectErrorCode.kNIMVChatLocalChannelKicked = 11005
}
 音视频服务器连接状态类型 More...
 
enum  NIMVChatMp4RecordCode {
  NIMVChatMp4RecordCode.kNIMVChatMp4RecordClose = 0, NIMVChatMp4RecordCode.kNIMVChatMp4RecordVideoSizeError = 1, NIMVChatMp4RecordCode.kNIMVChatMp4RecordOutDiskSpace = 2, NIMVChatMp4RecordCode.kNIMVChatMp4RecordThreadBusy = 3,
  NIMVChatMp4RecordCode.kNIMVChatMp4RecordCreate = 200, NIMVChatMp4RecordCode.kNIMVChatMp4RecordExsit = 400, NIMVChatMp4RecordCode.kNIMVChatMp4RecordCreateError = 403, NIMVChatMp4RecordCode.kNIMVChatMp4RecordInvalid = 404
}
 NIMVChatMp4RecordCode mp4录制状态 More...
 
enum  NIMVChatAudioRecordCode {
  NIMVChatAudioRecordCode.kNIMVChatAudioRecordClose = 0, NIMVChatAudioRecordCode.kNIMVChatAudioRecordOutDiskSpace = 2, NIMVChatAudioRecordCode.kNIMVChatAudioRecordCreate = 200, NIMVChatAudioRecordCode.kNIMVChatAudioRecordExsit = 400,
  NIMVChatAudioRecordCode.kNIMVChatAudioRecordCreateError = 403, NIMVChatAudioRecordCode.kNIMVChatAudioRecordInvalid = 404
}
 NIMVChatAudioRecordCode 音频录制状态 More...
 
enum  NIMVChatVideoFrameScaleType { NIMVChatVideoFrameScaleType.kNIMVChatVideoFrameScaleNone = 0, NIMVChatVideoFrameScaleType.kNIMVChatVideoFrameScale1x1 = 1, NIMVChatVideoFrameScaleType.kNIMVChatVideoFrameScale4x3 = 2, NIMVChatVideoFrameScaleType.kNIMVChatVideoFrameScale16x9 = 3 }
 视频画面长宽比,裁剪时不改变横竖屏,如4:3,代表宽高横屏4:3或者竖屏3:4 * More...
 
enum  NIMVChatVideoSplitMode {
  NIMVChatVideoSplitMode.kNIMVChatSplitBottomHorFloating = 0, NIMVChatVideoSplitMode.kNIMVChatSplitTopHorFloating = 1, NIMVChatVideoSplitMode.kNIMVChatSplitLatticeTile = 2, NIMVChatVideoSplitMode.kNIMVChatSplitLatticeCuttingTile = 3,
  NIMVChatVideoSplitMode.kNIMVChatSplitCustomLayout = 4, NIMVChatVideoSplitMode.kNIMVChatSplitAudioLayout = 5
}
 NIMVChatVideoSplitMode 主播设置的直播分屏模式 More...
 
enum  NIMVChatLiveStateCode {
  NIMVChatLiveStateCode.kNIMVChatLiveStateInitial = 500, NIMVChatLiveStateCode.kNIMVChatLiveStateLayoutError = 501, NIMVChatLiveStateCode.kNIMVChatLiveStateStartConnecting = 502, NIMVChatLiveStateCode.kNIMVChatLiveStateConnectted = 503,
  NIMVChatLiveStateCode.kNIMVChatLiveStateConnectFail = 504, NIMVChatLiveStateCode.kNIMVChatLiveStatePushing = 505, NIMVChatLiveStateCode.kNIMVChatLiveStatePushFail = 506, NIMVChatLiveStateCode.kNIMVChatLiveStateInnerError = 507,
  NIMVChatLiveStateCode.kNIMVChatLiveStatePeopleLimit = 508
}
 NIMVChatLiveStateCode 直播时的状态码。服务器定时更新,一些存在时间短的状态会获取不到 More...
 
enum  NIMVChatVideoEncodeMode { NIMVChatVideoEncodeMode.kNIMVChatVEModeNormal = 0, NIMVChatVideoEncodeMode.kNIMVChatVEModeFramerate = 1, NIMVChatVideoEncodeMode.kNIMVChatVEModeQuality = 2, NIMVChatVideoEncodeMode.kNIMVChatVEModeScreen = 3 }
 NIMVChatVideoEncodeMode 视频编码策略 More...
 
enum  NIMNetDetectType { NIMNetDetectType.kNIMNetDetectTypeAudio = 0, NIMNetDetectType.kNIMNetDetectTypeVideo = 1 }
 NIMNetDetectType 探测类型 More...
 
enum  NIMNetDetectVideoQuality {
  NIMNetDetectVideoQuality.kNIMNDVideoQualityDefault = 0, NIMNetDetectVideoQuality.kNIMNDVideoQualityLow = 1, NIMNetDetectVideoQuality.kNIMNDVideoQualityMedium = 2, NIMNetDetectVideoQuality.kNIMNDVideoQualityHigh = 3,
  NIMNetDetectVideoQuality.kNIMNDVideoQuality480p = 4, NIMNetDetectVideoQuality.kNIMNDVideoQuality720p = 5, NIMNetDetectVideoQuality.kNIMNDVideoQuality540p = 6
}
 
enum  NIMVideoChatUserLeftType { NIMVideoChatUserLeftType.kNIMVChatUserLeftTimeout = -1, NIMVideoChatUserLeftType.kNIMVChatUserLeftNormal = 0 }
 
enum  NIMMainPictureOptCode {
  NIMMainPictureOptCode.kNIMMainPictureOptSucess = 200, NIMMainPictureOptCode.kNIMMainPictureOptAuthError = 401, NIMMainPictureOptCode.kNIMMainPictureOptRoomNotExist = 404, NIMMainPictureOptCode.kNIMMainPictureOptUidNotExist = 405,
  NIMMainPictureOptCode.kNIMMainPictureOptDataError = 417, NIMMainPictureOptCode.kNIMMainPictureOptError = 500, NIMMainPictureOptCode.kNIMMainPictureOptServerError = 600, NIMMainPictureOptCode.kNIMMainPictureOptInvilid = 11403
}
 NIMMainPictureOptCode 房间主画面设置返回码 More...
 
enum  NIMVChatAudioMode { NIMVChatAudioMode.kNIMVChatAdModeDefault = 0, NIMVChatAudioMode.kNIMVChatAdModeNormal = 1, NIMVChatAudioMode.kNIMVChatAdModeHighVoip = 2, NIMVChatAudioMode.kNIMVChatAdModeHighMusic = 3 }
 NIMVChatAudioMode 音频模式 More...
 
enum  NIMVChatServRecordType { NIMVChatServRecordType.kNIMVChatServRecordMixedSingle = 0, NIMVChatServRecordType.kNIMVChatServRecordMixed = 1, NIMVChatServRecordType.kNIMVChatServRecordSingle = 2 }
 服务器录制模式,用于指定本人数据录制选择 More...
 
enum  ResponseCode {
  ResponseCode.kNIMResError = 0, ResponseCode.kNIMResSuccess = 200, ResponseCode.kNIMResVersionError = 201, ResponseCode.kNIMResUidPassError = 302,
  ResponseCode.kNIMResForbidden = 403, ResponseCode.kNIMResNotExist = 404, ResponseCode.kNIMResNoModify = 406, ResponseCode.kNIMResTimeoutError = 408,
  ResponseCode.kNIMResParameterError = 414, ResponseCode.kNIMResConnectionError = 415, ResponseCode.kNIMResFrequently = 416, ResponseCode.kNIMResExist = 417,
  ResponseCode.kNIMResOverrun = 419, ResponseCode.kNIMResAccountBlock = 422, ResponseCode.kNIMResUnknownError = 500, ResponseCode.kNIMResServerDataError = 501,
  ResponseCode.kNIMResTooBuzy = 503, ResponseCode.kNIMResInvalid = 509, ResponseCode.kNIMResTeamECountLimit = 801, ResponseCode.kNIMResTeamENAccess = 802,
  ResponseCode.kNIMResTeamENotExist = 803, ResponseCode.kNIMResTeamEMemberNotExist = 804, ResponseCode.kNIMResTeamErrType = 805, ResponseCode.kNIMResTeamLimit = 806,
  ResponseCode.kNIMResTeamUserStatusErr = 807, ResponseCode.kNIMResTeamApplySuccess = 808, ResponseCode.kNIMResTeamAlreadyIn = 809, ResponseCode.kNIMResTeamInviteSuccess = 810,
  ResponseCode.kNIMResForcePushCountLimit = 811, ResponseCode.kNIMResTeamMemberLimit = 813, ResponseCode.kNIMResInvalidProtocol = 997, ResponseCode.kNIMResEUnpacket = 998,
  ResponseCode.kNIMResEPacket = 999, ResponseCode.kNIMResInBlack = 7101, ResponseCode.kNIMLocalRes = 10000, ResponseCode.kNIMResRoomLocalNeedRequestAgain = 10001,
  ResponseCode.kNIMLocalResNetworkError = 10010, ResponseCode.kNIMLocalResMsgNosUploadCancel = 10200, ResponseCode.kNIMLocalResMsgNosDownloadCancel = 10206, ResponseCode.kNIMLocalResMsgFileNotExist = 10404,
  ResponseCode.kNIMLocalResMsgUrlInvalid = 10414, ResponseCode.kNIMLocalResMsgFileExist = 10417, ResponseCode.kNIMLocalResParaError = 10450, ResponseCode.kNIMLocalResMsgSendNosError = 10502,
  ResponseCode.kNIMLocalResCheckMsgDBFailed = 10600, ResponseCode.kNIMLocalResImportMsgDBFailed = 10601, ResponseCode.kNIMLocalResRtsError = 11100, ResponseCode.kNIMLocalResRtsIdNotExist = 11101,
  ResponseCode.kNIMLocalResRtsVChatExist = 11417, ResponseCode.kNIMLocalResRtsStatusError = 11501, ResponseCode.kNIMLocalResRtsChannelNotExist = 11510, ResponseCode.kNIMResRoomLinkError = 13001,
  ResponseCode.kNIMResRoomError = 13002, ResponseCode.kNIMResRoomBlackBeOut = 13003, ResponseCode.kNIMResRoomBeMuted = 13004, ResponseCode.kNIMResRoomAllMuted = 13006,
  ResponseCode.kNIMLocalResAPIErrorInitUndone = 20000, ResponseCode.kNIMLocalResAPIErrorEnterUndone = 20001, ResponseCode.kNIMLocalResAPIErrorEntered = 20002, ResponseCode.kNIMLocalResAPIErrorVersionError = 20003,
  ResponseCode.kNIMLocalResAPIErrorChatroomMixError = 20004
}
 NIMResCode 返回的错误号(只定义需要客户端处理的) More...
 

Functions

delegate void nim_client_multiport_push_config_cb_func (int rescode, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string content, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string json_params, IntPtr user_data)
 
delegate void nim_client_dnd_cb_func (int rescode, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string content, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string json_params, IntPtr user_data)
 
delegate void nim_client_cleanup2_cb_func ([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string json_params, IntPtr user_data)
 
delegate void ConfigMultiportPushDelegate (ResponseCode response, ConfigMultiportPushParam param)
 
delegate void NimWriteLogDelegate (int level, string log)
 
delegate void NimNetworkDetectionDelegate (NetDetectionRes error, NetDetectResult result, IntPtr userData)
 
delegate void NimProxyDetectionDelegate (bool connection, NIMProxyDetectStep step)
 
delegate void DeleteCacheFileDelegate (ResponseCode code)
 
delegate void GetCacheFileInfoDelegate (CacheFileInfo info)
 
delegate void nim_global_net_detect_cb_func (int rescode, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string json_params, IntPtr user_data)
 
delegate void nim_sdk_exception_cb_func (NIMSDKException exception, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))]string log, IntPtr user_data)
 
delegate void nim_sdk_del_cache_file_cb_func (ResponseCode rescode, IntPtr user_data)
 
delegate void nim_sdk_get_cache_file_info_cb_func ([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))]string info, IntPtr user_data)
 
delegate void StartDeviceResultHandler (NIMDeviceType type, bool ret)
 启动设备委托 More...
 
delegate void DeviceStatusHandler (NIMDeviceType type, uint status, string devicePath)
 设备状态通知 More...
 
delegate void VideoDataHandler (ulong time, IntPtr data, uint size, uint width, uint height, string json_extension)
 视频数据委托 More...
 
delegate void AudioDataHandler (ulong time, IntPtr data, uint size, int rate)
 音频数据委托 More...
 
delegate void AudioDataExHandler (ulong time, IntPtr data, uint size, int channels, int rate, int volume, string json_extension)
 音频数据监听接口 More...
 
delegate void AudioDataSyncHandler (IntPtr data, ref ulong size, int rate)
 音频数据委托 More...
 
delegate void nim_vchat_start_device_cb_func (NIMDeviceType type, bool ret, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string json_extension, IntPtr user_data)
 
delegate void nim_vchat_audio_data_cb_func (ulong time, IntPtr data, uint size, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string json_extension, IntPtr user_data)
 
delegate ulong nim_vchat_audio_data_sync_cb_func (IntPtr data, ulong size, double sample_rate, IntPtr user_data)
 
delegate void nim_vchat_enum_device_devpath_sync_cb_func (bool ret, NIMDeviceType type, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string json_extension, IntPtr user_data)
 
delegate void nim_vchat_device_status_cb_func (NIMDeviceType type, uint status, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string device_path, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string json_extension, IntPtr user_data)
 
delegate void nim_vchat_audio_data_cb_func_ex (ulong time, IntPtr data, uint size, int channels, int rate, int volume, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string json_extension, IntPtr user_data)
 
delegate void nim_vchat_video_data_cb_func (ulong time, IntPtr data, uint size, uint width, uint height, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string json_extension, IntPtr user_data)
 
delegate void ReportUploadProgressDelegate (long uploadedSize, long totalSize, object progressData)
 
delegate void ReceiveBatchMesaagesDelegate (List< NIMReceivedMessage > msgsList)
 
delegate bool TeamNotificationFilterDelegate (NIMIMMessage msg, string jsonExtension)
 
delegate void RecallMessageDelegate (ResponseCode result, RecallNotification[] notify)
 
delegate void ReceiveBroadcastDelegate (NIMBroadcastMessage msg)
 
delegate void ReceiveBroadcastMsgsDelegate (List< NIMBroadcastMessage > msg)
 
delegate void UploadFileCallback (long uploadedSize, long totalSize, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string jsonExtension, IntPtr userData)
 
delegate void IMMessageArcCallback ([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string jsonArcResult, IntPtr userData)
 
delegate void IMReceiveMessageCallback ([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string content, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string jsonArcResult, IntPtr userData)
 
delegate bool NIMTeamNotificationFilterFunc ([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string content, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string jsonExtension, IntPtr userData)
 
delegate void nim_talk_recall_msg_func (int rescode, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string content, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string json_extension, IntPtr user_data)
 
delegate void nim_talk_receive_broadcast_cb_func ([MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string content, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string json_extension, IntPtr user_data)
 
internal delegate void nim_push_event_cb_func (int res_code, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string event_info_json, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string json_extension, IntPtr user_data)
 
internal delegate void nim_batch_push_event_cb_func (int res_code, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string event_list_json, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string json_extension, IntPtr user_data)
 
internal delegate void nim_publish_event_cb_func (int res_code, int event_type, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string event_info_json, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string json_extension, IntPtr user_data)
 
internal delegate void nim_subscribe_event_cb_func (int res_code, int event_type, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string faild_list_json, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string json_extension, IntPtr user_data)
 
internal delegate void nim_unsubscribe_event_cb_func (int res_code, int event_type, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string faild_list_json, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string json_extension, IntPtr user_data)
 
internal delegate void nim_batch_unsubscribe_event_cb_func (int res_code, int event_type, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string json_extension, IntPtr user_data)
 
internal delegate void nim_query_subscribe_event_cb_func (int res_code, int event_type, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string subscribe_list_json, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string json_extension, IntPtr user_data)
 
internal delegate void nim_batch_query_subscribe_event_cb_func (int res_code, int event_type, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string subscribe_list_json, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string json_extension, IntPtr user_data)
 
delegate void onSessionHandler (long channel_id, int code)
 调用接口回调 More...
 
delegate void onSessionInviteNotifyHandler (long channel_id, string uid, int mode, long time, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string customInfo)
 收到邀请 More...
 
delegate void onSessionCalleeAckNotifyHandler (long channel_id, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string uid, int mode, bool accept)
 确认通话,接受拒绝通知 More...
 
delegate void onSessionControlResHandler (long channel_id, int code, int type)
 控制操作结果 More...
 
delegate void onSessionControlNotifyHandler (long channel_id, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string uid, int type)
 控制操作通知 More...
 
delegate void onSessionConnectNotifyHandler (long channel_id, int code, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string record_file, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string video_record_file, long chat_time, ulong chat_rx, ulong chat_tx)
 通话中链接状态通知 More...
 
delegate void onSessionPeopleStatusHandler (long channel_id, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string uid, int status)
 通话中成员状态 More...
 
delegate void onSessionNetStatusHandler (long channel_id, int status, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string uid)
 通话中网络状态 More...
 
delegate void onSessionSyncAckNotifyHandler (long channel_id, int code, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string uid, int mode, bool accept, long time, int client)
 其他端接听挂断后的同步通知 More...
 
delegate void NIMVChatOptHandler (bool ret, int code, string json_extension)
 操作回调,通用的操作回调接口 More...
 
delegate void NIMVChatOpt2Handler (int code, long channel_id, string json_extension)
 操作回调,通用的操作回调接口 More...
 
delegate void onSessionVolumeNotifyHandler (long channel_id, int code, NIMVchatAudioVolumeState state)
 音量状态通知 More...
 
delegate void onSessionRealtimeInfoNotifyHandler (long channel_id, int code, NIMVChatRealtimeState state)
 视频实时状态信息通知 More...
 
delegate void OnSessionMP4InfoNotifyHandler (long channel_id, int code, NIMVChatMP4State mp4_info)
 通知MP4录制状态,包括开始录制和结束录制 More...
 
delegate void OnSessionAuRecordInfoNotifyHandler (long channel_id, int code, NIMVChatAuRecordState record_info)
 通知音频录制状态 More...
 
delegate void NIMVChatMp4RecordOptHandler (bool ret, int code, string file, Int64 time, string json_extension)
 MP4操作回调,实际的开始录制和结束都会在NIMVChatSessionStatus.onSessionMp4InfoStateNotify中返回 More...
 
delegate void NIMVChatAudioRecordOptHandler (bool ret, int code, string file, Int64 time, string json_extension)
 音频录制操作回调,实际的开始录制和结束都会在NIMVChatSessionStatus.onSessionAuRecordInfoStateNotify中返回 More...
 
delegate void OnSessionLiveStateInfoNotifyHandler (long channel_id, int code, NIMVChatLiveState state)
 直播状态信息通知 More...
 
delegate void NimVchatCbFunc (NIMVideoChatSessionType type, long channel_id, int code, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string json_extension, IntPtr user_data)
 
delegate void NimVchatOptCbFunc (bool ret, int code, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string json_extension, IntPtr user_data)
 
delegate void NimVchatOpt2CbFunc (int code, long channel_id, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string json_extension, IntPtr user_data)
 NIM 操作回调,通用的操作回调接口 More...
 
delegate void NimVchatMp4RecordOptCbFunc (bool ret, int code, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string file, Int64 time, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string json_extension, IntPtr user_data)
 NIM MP4操作回调,实际的开始录制和结束都会在NIMVChatHanler中返回 More...
 
delegate void NimVchatAudioRecordOptCbFunc (bool ret, int code, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string file, Int64 time, [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))]string json_extension, IntPtr user_data)
 音频录制操作回调,实际的开始录制和结束都会在NimVchatCbFunc中返回 More...
 

Enumeration Type Documentation

◆ CacheFileType

enum NIM.CacheFileType
strong

sdk缓存文件类型

Enumerator
Misc 

杂项文件

Image 

图片

Audio 

语音

Video 

视频

◆ NetDetectionRes

enum NIM.NetDetectionRes
strong

网络探测错误

Enumerator
ProcessError 

流程错误

Success 

成功

InvalidRequest 

非法请求格式

DataError 

请求数据不对

InnerIP 

ip为内网ip

OutOfLimit 

频率超限

TypeError 

探测类型错误

IPError 

ip错误

SocketError 

sock错误

◆ NIMAppDataType

enum NIM.NIMAppDataType
strong

AppData类型

Enumerator
kNIMAppDataTypeUnknownOtherRes 

其他资源文件(除了消息历史文件和已知类型之外的消息数据缓存文件)

kNIMAppDataTypeImage 

图片消息文件

kNIMAppDataTypeAudio 

语音消息文件

kNIMAppDataTypeVideo 

视频消息文件

◆ NIMAudioDataCbType

NIMAudioDataCbType 音频数据监听类型

Enumerator
kNIMAudioDataCbTypeHook 

实时返回伴音数据,伴音数据保留原始的格式,伴音不再混音到通话数据中,如果还需要可以通过伴音数据通道再回传

kNIMAudioDataCbTypeHookAndMic 

定时返回伴音和麦克风、声卡的混音数据,允许重采样(json中带kNIMDeviceSampleRate和kNIMVolumeWork),返回单声道数据

◆ NIMClientType

enum NIM.NIMClientType
strong

客户端类型

Enumerator
kNIMClientTypeAndroid 

Android

kNIMClientTypeiOS 

iOS

kNIMClientTypePCWindows 

PC Windows

kNIMClientTypeWeb 

Web

kNIMClientTypeRestAPI 

RestAPI

kNIMClientTypeMacOS 

Mac

◆ NIMDeviceStatus

enum NIM.NIMDeviceStatus
strong

设备状态类型

Enumerator
kNIMDeviceStatusNoChange 

设备没有变化

kNIMDeviceStatusChange 

设备有变化

kNIMDeviceStatusWorkRemove 

工作设备被移除

kNIMDeviceStatusReset 

设备重新启动

kNIMDeviceStatusStart 

设备开始工作

kNIMDeviceStatusEnd 

设备停止工作

◆ NIMDeviceType

enum NIM.NIMDeviceType
strong

设备类型

Enumerator
kNIMDeviceTypeAudioIn 

麦克风设备

kNIMDeviceTypeAudioOut 

听筒设备用于播放本地采集音频数据

kNIMDeviceTypeAudioOutChat 

听筒设备用于通话音频数据(StartDevice和EndDevice中使用)

kNIMDeviceTypeVideo 

摄像头

kNIMDeviceTypeSoundcardCapturer 

声卡声音采集,并在通话结束时会主动关闭,得到的数据只混音到发送的通话声音中,customaudio模式时无效

kNIMDeviceTypeAudioHook 

伴音,启动第三方播放器并获取音频数据(只允许存在一个进程钩子),只混音到发送的通话声音中

◆ NIMEventBroadcastType

事件广播类型

Enumerator
kNIMEventBroadcastTypeOnline 

仅在线

kNIMEventBroadcastTypeAll 

在线和离线

◆ NIMEventOnlineStateValue

在线状态事件值

Enumerator
kNIMEventOnlineStateValueLogin 

登录

kNIMEventOnlineStateValueLogout 

登出

kNIMEventOnlineStateValueDisconnect 

断开连接

kNIMEventOnlineStateValueCustom 

在线状态事件服务器保留1~9999的事件值,客户端自定义事件值需大于9999

kNIMEventOnlineStateValueUpdateConfig 

自己的其他端更新了自己端的multi_config信息

◆ NIMEventSubscribeSyncEventType

订阅的事件的同步类型

Enumerator
kNIMEventSubscribeSyncTypeUnSync 

订阅后不同步最新事件

kNIMEventSubscribeSyncTypeSync 

订阅后立即同步最新事件

◆ NIMEventSyncType

enum NIM.NIMEventSyncType
strong

事件同步类型

Enumerator
kNIMEventSyncTypeNoSelf 

事件不同步给自己其他端

kNIMEventSyncTypeSelf 

事件同步给自己其他端

◆ NIMEventType

enum NIM.NIMEventType
strong

服务器预定义的事件类型

Enumerator
kNIMEventTypeOnlineState 

在线状态事件(客户端可发送)

kNIMEventTypeSyncEvent 

同步“订阅事件”事件(客户端不可发送)

kNIMEventTypeCustom 

服务器保留1~99999的事件类型,客户端自定义事件类型需大于99999

◆ NIMKickReason

enum NIM.NIMKickReason
strong

被踢原因

Enumerator
kNIMKickReasonSameGeneric 

互斥类型的客户端互踢

kNIMKickReasonServerKick 

服务器端发起踢客户端指令

kNIMKickReasonKickBySelfOtherClient 

被自己的其他端踢掉

◆ NIMLoginState

enum NIM.NIMLoginState
strong

登录状态

Enumerator
kNIMLoginStateLogin 

已登录

kNIMLoginStateUnLogin 

未登录

◆ NIMLoginStep

enum NIM.NIMLoginStep
strong

登录步骤

Enumerator
kNIMLoginStepLinking 

正在连接

kNIMLoginStepLink 

连接服务器

kNIMLoginStepLogining 

正在登录

kNIMLoginStepLogin 

登录验证

◆ NIMLogoutType

enum NIM.NIMLogoutType
strong

Logout类型

Enumerator
kNIMLogoutChangeAccout 

注销/切换帐号(返回到登录界面)

kNIMLogoutKickout 

被踢(返回到登录界面)

kNIMLogoutAppExit 

程序退出

kNIMLogoutRelogin 

重连操作,包括保存密码时启动程序伪登录后的重连操作以及掉线后的重连操作(帐号未变化)

◆ NIMMainPictureOptCode

NIMMainPictureOptCode 房间主画面设置返回码

Enumerator
kNIMMainPictureOptSucess 

操作成功

kNIMMainPictureOptAuthError 

认证错误

kNIMMainPictureOptRoomNotExist 

房间不存在

kNIMMainPictureOptUidNotExist 

房间下的uid不存在

kNIMMainPictureOptDataError 

请求数据不对

kNIMMainPictureOptError 

内部错误

kNIMMainPictureOptServerError 

服务器内部错误

kNIMMainPictureOptInvilid 

无效的操作

◆ NIMMessageFeature

enum NIM.NIMMessageFeature
strong
Enumerator
kNIMMessageFeatureDefault 

默认

kNIMMessageFeatureLeaveMsg 

离线消息

kNIMMessageFeatureRoamMsg 

漫游消息

kNIMMessageFeatureSyncMsg 

同步消息

kNIMMessageFeatureCustomizedMsg 

透传消息

◆ NIMMessageSettingStatus

Enumerator
kNIMMessageStatusUndefine 
kNIMMessageStatusNotSet 
kNIMMessageStatusSetted 

◆ NIMMessageType

enum NIM.NIMMessageType
strong
Enumerator
kNIMMessageTypeText 

文本类型消息

kNIMMessageTypeImage 

图片类型消息

kNIMMessageTypeAudio 

声音类型消息

kNIMMessageTypeVideo 

视频类型消息

kNIMMessageTypeLocation 

位置类型消息

kNIMMessageTypeNotification 

系统类型通知(包括入群出群通知等) NIMNotificationId

kNIMMessageTypeFile 

文件类型消息

kNIMMessageTypeTips 

提醒类型消息,Tip内容根据格式要求填入消息结构中的kNIMMsgKeyServerExt字段

kNIMMessageTypeRobot 

波特机器人消息

kNIMMessageTypeCustom 

自定义消息

kNIMMessageTypeUnknown 

未知类型消息,作为默认值

◆ NIMMultiSpotNotifyType

多点登录通知类型

Enumerator
kNIMMultiSpotNotifyTypeImIn 

通知其他在线端自己登录了

kNIMMultiSpotNotifyTypeImOut 

通知其他在线端自己退出

◆ NIMNetDetectType

enum NIM.NIMNetDetectType
strong

NIMNetDetectType 探测类型

Enumerator
kNIMNetDetectTypeAudio 

默认值,音频探测

kNIMNetDetectTypeVideo 

视频探测

◆ NIMNetDetectVideoQuality

NIMNetDetectVideoQuality 视频探测类型

Enumerator
kNIMNDVideoQualityDefault 

480p

kNIMNDVideoQualityLow 

176*144

kNIMNDVideoQualityMedium 

352*288

kNIMNDVideoQualityHigh 

480*320

kNIMNDVideoQuality480p 

640*480

kNIMNDVideoQuality720p 

1280*720

kNIMNDVideoQuality540p 

960*540

◆ NIMProxyDetectStep

代理测试步骤

Enumerator
kNIMProxyDetectStepAllComplete 

探测代理有效性结束

◆ NIMProxyType

enum NIM.NIMProxyType
strong

代理类型

Enumerator
kNIMProxyNone 

不使用代理

kNIMProxyHttp11 

HTTP 1.1 Proxy(暂不支持)

kNIMProxySocks4 

Socks4

kNIMProxySocks4a 

Socks4a

kNIMProxySocks5 

Socks5

◆ NIMRobotInfoChangeType

机器人信息变更类型

Enumerator
kNIMRobotInfoChangeTypeAll 

全量更新

◆ NIMSDKException

enum NIM.NIMSDKException
strong

sdk异常

Enumerator
kNIMSDKExceptionSpaceEmpty 

当前数据目录所在盘符空间紧张或用完 log: {"free_space" : lf, "message":""}, free_space单位M

◆ NIMVChatAudioMode

enum NIM.NIMVChatAudioMode
strong

NIMVChatAudioMode 音频模式

Enumerator
kNIMVChatAdModeDefault 

默认值,此时参考kNIMVChatAudioHighRate

kNIMVChatAdModeNormal 

窄带,kNIMVChatAudioHighRate无效

kNIMVChatAdModeHighVoip 

高清语音,kNIMVChatAudioHighRate无效

kNIMVChatAdModeHighMusic 

高清音乐,kNIMVChatAudioHighRate无效

◆ NIMVChatAudioRecordCode

NIMVChatAudioRecordCode 音频录制状态

Enumerator
kNIMVChatAudioRecordClose 

录制正常结束

kNIMVChatAudioRecordOutDiskSpace 

录制结束,磁盘空间不足

kNIMVChatAudioRecordCreate 

文件创建成功

kNIMVChatAudioRecordExsit 

已经存在

kNIMVChatAudioRecordCreateError 

文件创建失败

kNIMVChatAudioRecordInvalid 

通话不存在

◆ NIMVChatConnectErrorCode

音视频服务器连接状态类型

Enumerator
kNIMVChatConnectDisconn 

断开连接

kNIMVChatConnectStartFail 

启动失败

kNIMVChatConnectTimeout 

超时

kNIMVChatConnectMeetingModeError 

会议模式错误

kNIMVChatConnectRtmpModeError 

非rtmp用户加入rtmp频道

kNIMVChatConnectRtmpNodesError 

超过频道最多rtmp人数限制

kNIMVChatConnectRtmpHostError 

已经存在一个主播

kNIMVChatConnectSuccess 

成功

kNIMVChatConnectLayoutError 

主播自定义布局错误

kNIMVChatConnectInvalidParam 

错误参数

kNIMVChatConnectDesKey 

密码加密错误

kNIMVChatConnectInvalidRequst 

错误请求

kNIMVChatConnectServerUnknown 

服务器内部错误

kNIMVChatConnectLogout 

退出

kNIMVChatChannelStartFail 

发起失败

kNIMVChatChannelDisconnected 

断开连接

kNIMVChatVersionSelfLow 

本人SDK版本太低不兼容

kNIMVChatVersionRemoteLow 

对方SDK版本太低不兼容

kNIMVChatLocalChannelClosed 

通道被关闭

kNIMVChatLocalChannelKicked 

账号被踢

◆ NIMVChatControlType

音视频通话控制类型

Enumerator
kNIMTagControlOpenAudio 

打开音频

kNIMTagControlCloseAudio 

关闭音频

kNIMTagControlOpenVideo 

打开视频

kNIMTagControlCloseVideo 

关闭视频

kNIMTagControlAudioToVideo 

请求从音频切换到视频

kNIMTagControlAgreeAudioToVideo 

同意从音频切换到视频

kNIMTagControlRejectAudioToVideo 

拒绝从音频切换到视频

kNIMTagControlVideoToAudio 

从视频切换到音频

kNIMTagControlBusyLine 

占线

kNIMTagControlCamaraNotAvailable 

告诉对方自己的摄像头不可用

kNIMTagControlEnterBackground 

告诉对方自已处于后台

kNIMTagControlReceiveStartNotifyFeedback 

告诉发送方自己已经收到请求了(用于通知发送方开始播放提示音)

kNIMTagControlMp4StartRecord 

告诉发送方自己开始录制

kNIMTagControlMp4StopRecord 

告诉发送方自己结束录制

◆ NIMVChatLiveStateCode

NIMVChatLiveStateCode 直播时的状态码。服务器定时更新,一些存在时间短的状态会获取不到

Enumerator
kNIMVChatLiveStateInitial 
kNIMVChatLiveStateLayoutError 

主播设置定制布局,布局参数错误

kNIMVChatLiveStateStartConnecting 

开始连接

kNIMVChatLiveStateConnectted 

连接成功

kNIMVChatLiveStateConnectFail 

连接失败

kNIMVChatLiveStatePushing 

推流中

kNIMVChatLiveStatePushFail 

互动直播推流失败

kNIMVChatLiveStateInnerError 

内部错误

kNIMVChatLiveStatePeopleLimit 

人数超出限制

◆ NIMVChatMp4RecordCode

NIMVChatMp4RecordCode mp4录制状态

Enumerator
kNIMVChatMp4RecordClose 

MP4结束

kNIMVChatMp4RecordVideoSizeError 

MP4结束,视频画面大小变化

kNIMVChatMp4RecordOutDiskSpace 

MP4结束,磁盘空间不足

kNIMVChatMp4RecordThreadBusy 

MP4结束,录制线程繁忙

kNIMVChatMp4RecordCreate 

MP4文件创建

kNIMVChatMp4RecordExsit 

MP4文件已经存在

kNIMVChatMp4RecordCreateError 

MP4文件创建失败

kNIMVChatMp4RecordInvalid 

通话不存在

◆ NIMVChatServRecordType

服务器录制模式,用于指定本人数据录制选择

Enumerator
kNIMVChatServRecordMixedSingle 

服务器录制混录并带单人文件

kNIMVChatServRecordMixed 

服务器录制只混录

kNIMVChatServRecordSingle 

服务器录制只录本人单人文件

◆ NIMVChatVideoEncodeMode

NIMVChatVideoEncodeMode 视频编码策略

Enumerator
kNIMVChatVEModeNormal 

默认值,清晰优先

kNIMVChatVEModeFramerate 

流畅优先

kNIMVChatVEModeQuality 

清晰优先

kNIMVChatVEModeScreen 

录屏模式,sdk不会根据网络调整分辨率

◆ NIMVChatVideoFrameRate

NIMVChatVideoFrameRate 视频通话帧率,实际帧率因画面采集频率和机器性能限制可能达不到期望值

Enumerator
kNIMVChatVideoFrameRateNormal 

视频通话帧率默认值,最大取每秒15帧

kNIMVChatVideoFrameRate5 

视频通话帧率 最大取每秒5帧

kNIMVChatVideoFrameRate10 

视频通话帧率 最大取每秒10帧

kNIMVChatVideoFrameRate15 

视频通话帧率 最大取每秒15帧

kNIMVChatVideoFrameRate20 

视频通话帧率 最大取每秒20帧

kNIMVChatVideoFrameRate25 

视频通话帧率 最大取每秒25帧

◆ NIMVChatVideoFrameScaleType

视频画面长宽比,裁剪时不改变横竖屏,如4:3,代表宽高横屏4:3或者竖屏3:4 *

Enumerator
kNIMVChatVideoFrameScaleNone 

默认,不裁剪

kNIMVChatVideoFrameScale1x1 

裁剪成1:1的形状

kNIMVChatVideoFrameScale4x3 

裁剪成4:3的形状,如果是

kNIMVChatVideoFrameScale16x9 

裁剪成16:9的形状

◆ NIMVChatVideoQuality

视频通话分辨率,最终长宽比不保证

Enumerator
kNIMVChatVideoQualityNormal 

视频默认分辨率 480x320

summary> 视频低分辨率176x144

kNIMVChatVideoQualityLow 

summary> 视频中分辨率 352x288

kNIMVChatVideoQualityMedium 

summary> 视频高分辨率 480x320

kNIMVChatVideoQualityHigh 

summary> 视频超高分辨率 640x480

kNIMVChatVideoQualitySuper 

summary> 用于桌面分享级别的分辨率1280x720,需要使用高清摄像头并指定对应的分辨率,或者自定义通道传输

kNIMVChatVideoQuality720p 
kNIMVChatVideoQuality540p 

介于720p与480p之间的类型,默认960*540

◆ NIMVChatVideoSplitMode

NIMVChatVideoSplitMode 主播设置的直播分屏模式

Enumerator
kNIMVChatSplitBottomHorFloating 

底部横排浮窗

kNIMVChatSplitTopHorFloating 

顶部横排浮窗

kNIMVChatSplitLatticeTile 

平铺

kNIMVChatSplitLatticeCuttingTile 

裁剪平铺

kNIMVChatSplitCustomLayout 

自定义布局

kNIMVChatSplitAudioLayout 

纯音频布局

◆ NIMVideoChatMode

enum NIM.NIMVideoChatMode
strong

音视频通话类型

Enumerator
kNIMVideoChatModeAudio 

语音通话模式

kNIMVideoChatModeVideo 

视频通话模式

◆ NIMVideoChatSessionNetStat

音视频通话网络变化类型

Enumerator
kNIMVideoChatSessionNetStatVeryGood 

网络状态很好

kNIMVideoChatSessionNetStatGood 

网络状态较好

kNIMVideoChatSessionNetStatPoor 

网络状态较差

kNIMVideoChatSessionNetStatBad 

网络状态很差

kNIMVideoChatSessionNetStatVeryBad 

网络状态极差,考虑是否关闭视频

◆ NIMVideoChatSessionStatus

音视频通话成员变化类型

Enumerator
kNIMVideoChatSessionStatusJoined 

成员进入

kNIMVideoChatSessionStatusLeaved 

成员离开

kNIMVideoChatSessionStatusTimeOutLeaved 

成员超时掉线

◆ NIMVideoChatSessionType

NIMVideoChatSessionType 音视频通话状态通知类型

Enumerator
kNIMVideoChatSessionTypeStartRes 

创建通话结果

kNIMVideoChatSessionTypeInviteNotify 

通话邀请

kNIMVideoChatSessionTypeCalleeAckRes 

确认通话,接受拒绝结果

kNIMVideoChatSessionTypeCalleeAckNotify 

确认通话,接受拒绝通知

kNIMVideoChatSessionTypeControlRes 

NIMVChatControlType 结果

kNIMVideoChatSessionTypeControlNotify 

NIMVChatControlType 通知

kNIMVideoChatSessionTypeConnect 

通话中链接状态通知

kNIMVideoChatSessionTypePeopleStatus 

通话中成员状态

kNIMVideoChatSessionTypeNetStatus 

通话中网络状态

kNIMVideoChatSessionTypeHangupRes 

通话挂断结果

kNIMVideoChatSessionTypeHangupNotify 

通话被挂断通知

kNIMVideoChatSessionTypeSyncAckNotify 

通话接听挂断同步通知

kNIMVideoChatSessionTypeMp4Notify 

通知MP4录制状态,包括开始录制和结束录制

kNIMVideoChatSessionTypeInfoNotify 

通知实时音视频数据状态

kNIMVideoChatSessionTypeVolumeNotify 

通知实时音频发送和混音的音量状态

kNIMVideoChatSessionTypeAuRecordNotify 

通知音频录制状态,包括开始录制和结束录制

kNIMVideoChatSessionTypeLiveState 

通知直播推流的服务器状态

◆ NIMVideoChatUserLeftType

NIMVideoChatUserLeftType 成员退出类型

Enumerator
kNIMVChatUserLeftTimeout 

成员超时掉线

kNIMVChatUserLeftNormal 

成员离开

◆ NIMVideoSubType

enum NIM.NIMVideoSubType
strong

NIMVideoSubType 视频格式类型

Enumerator
kNIMVideoSubTypeARGB 

32位位图格式 存储 (B,G,R,A)...

kNIMVideoSubTypeRGB 

24位位图格式 存储 (B,G,R)...

kNIMVideoSubTypeI420 

YUV格式,存储 yyyyyyyy...uu...vv...

◆ ResponseCode

enum NIM.ResponseCode
strong

NIMResCode 返回的错误号(只定义需要客户端处理的)

Enumerator
kNIMResError 

错误

kNIMResSuccess 

没有错误,一切正常

kNIMResVersionError 

客户端版本不正确

kNIMResUidPassError 

用户名或密码错误

kNIMResForbidden 

禁止操作

kNIMResNotExist 

请求的目标(用户或对象)不存在

kNIMResNoModify 

数据自上次查询以来未发生变化(用于增量更新)

kNIMResTimeoutError 

请求过程超时

kNIMResParameterError 

参数错误

kNIMResConnectionError 

网络连接出现错误

kNIMResFrequently 

操作太过频繁

kNIMResExist 

对象已经存在/重复操作

kNIMResOverrun 

超限

kNIMResAccountBlock 

帐号被禁用

kNIMResUnknownError 

未知错误,或者不方便告诉你

kNIMResServerDataError 

服务器数据错误

kNIMResTooBuzy 

服务器太忙

kNIMResInvalid 

协议无效, 不允许访问的协议

kNIMResTeamECountLimit 

已达到人数限制

kNIMResTeamENAccess 

没有权限

kNIMResTeamENotExist 

群不存在

kNIMResTeamEMemberNotExist 

用户不在兴趣组里面

kNIMResTeamErrType 

群类型不对

kNIMResTeamLimit 

创建群数量限制

kNIMResTeamUserStatusErr 

群成员状态不对

kNIMResTeamApplySuccess 

申请成功

kNIMResTeamAlreadyIn 

已经在群里

kNIMResTeamInviteSuccess 

邀请成功

kNIMResForcePushCountLimit 

强推列表账号数量超限

kNIMResTeamMemberLimit 

操作成功,但部分成员的群数量超限

kNIMResInvalidProtocol 

协议已失效

kNIMResEUnpacket 

解包错误

kNIMResEPacket 

打包错误

kNIMResInBlack 

被接收方加入黑名单 SDK版本大于2.5.0支持

kNIMLocalRes 

值大于该错误号的都是客户端自定义的错误号。不能随意更改其值

kNIMResRoomLocalNeedRequestAgain 

客户端本地错误号,需要重新向IM服务器获取进入聊天室权限

kNIMLocalResNetworkError 

客户端本地错误号,本地网络错误,需要检查本地网络

kNIMLocalResMsgNosUploadCancel 

发送文件消息,NOS上传暂停

kNIMLocalResMsgNosDownloadCancel 

收到文件消息,NOS下载暂停

kNIMLocalResMsgFileNotExist 

本地资源不存在

kNIMLocalResMsgUrlInvalid 

收到消息,资源下载地址无效,无法下载

kNIMLocalResMsgFileExist 

收到消息,本地资源已存在,不需要重复下载

kNIMLocalResParaError 

调用api,传入的参数有误

kNIMLocalResMsgSendNosError 

发送消息,上传NOS失败

kNIMLocalResCheckMsgDBFailed 

导入消息历史时验证身份和加密密钥不通过

kNIMLocalResImportMsgDBFailed 

导入消息历史时写记录失败

kNIMLocalResRtsError 

rts会话 未知错误

kNIMLocalResRtsIdNotExist 

rts会话 id不存在

kNIMLocalResRtsVChatExist 

rts会话 音视频已存在

kNIMLocalResRtsStatusError 

rts会话 通道状态不正确

kNIMLocalResRtsChannelNotExist 

rts会话 通道不存在

kNIMResRoomLinkError 

主链接错误

kNIMResRoomError 

聊天室状态异常

kNIMResRoomBlackBeOut 

黑名单用户禁止进入

kNIMResRoomBeMuted 

被禁言

kNIMResRoomAllMuted 

聊天室处于整体禁言状态,只有管理员能发言

kNIMLocalResAPIErrorInitUndone 

还未初始化或初始化未正常完成

kNIMLocalResAPIErrorEnterUndone 

还未登陆或登录未完成

kNIMLocalResAPIErrorEntered 

已经登录

kNIMLocalResAPIErrorVersionError 

SDK版本不对,可能会引发其他问题

kNIMLocalResAPIErrorChatroomMixError 

聊天室模式混用错误,不支持同时以登陆状态和匿名状态登陆聊天室

Function Documentation

◆ AudioDataExHandler()

delegate void NIM.AudioDataExHandler ( ulong  time,
IntPtr  data,
uint  size,
int  channels,
int  rate,
int  volume,
string  json_extension 
)

音频数据监听接口

Parameters
time时间毫秒级,暂时无效
data音频数据pcm格式
sizedata的数据长度
channels通道数
rate采样频
volume音量值0-100
json_extension扩展

◆ AudioDataHandler()

delegate void NIM.AudioDataHandler ( ulong  time,
IntPtr  data,
uint  size,
int  rate 
)

音频数据委托

Parameters
time毫秒级时间戳
data数据指针, PCM
size数据长途sizeof(char)
ratePCM数据的采样频率

◆ AudioDataSyncHandler()

delegate void NIM.AudioDataSyncHandler ( IntPtr  data,
ref ulong  size,
int  rate 
)

音频数据委托

Parameters
time毫秒级时间戳
data数据指针, PCM
size数据长途sizeof(char)
ratePCM数据的采样频率

◆ ConfigMultiportPushDelegate()

delegate void NIM.ConfigMultiportPushDelegate ( ResponseCode  response,
ConfigMultiportPushParam  param 
)

◆ DeleteCacheFileDelegate()

delegate void NIM.DeleteCacheFileDelegate ( ResponseCode  code)

◆ DeviceStatusHandler()

delegate void NIM.DeviceStatusHandler ( NIMDeviceType  type,
uint  status,
string  devicePath 
)

设备状态通知

Parameters
type设备类型
statusNIMDeviceStatus 的或值
devicePath重启设备时的设备路径

◆ GetCacheFileInfoDelegate()

delegate void NIM.GetCacheFileInfoDelegate ( CacheFileInfo  info)

◆ IMMessageArcCallback()

delegate void NIM.IMMessageArcCallback ( [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  jsonArcResult,
IntPtr  userData 
)

◆ IMReceiveMessageCallback()

delegate void NIM.IMReceiveMessageCallback ( [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  content,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  jsonArcResult,
IntPtr  userData 
)

◆ nim_batch_push_event_cb_func()

internal delegate void NIM.nim_batch_push_event_cb_func ( int  res_code,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  event_list_json,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_batch_query_subscribe_event_cb_func()

internal delegate void NIM.nim_batch_query_subscribe_event_cb_func ( int  res_code,
int  event_type,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  subscribe_list_json,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_batch_unsubscribe_event_cb_func()

internal delegate void NIM.nim_batch_unsubscribe_event_cb_func ( int  res_code,
int  event_type,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_client_cleanup2_cb_func()

delegate void NIM.nim_client_cleanup2_cb_func ( [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_params,
IntPtr  user_data 
)

◆ nim_client_dnd_cb_func()

delegate void NIM.nim_client_dnd_cb_func ( int  rescode,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  content,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_params,
IntPtr  user_data 
)

◆ nim_client_multiport_push_config_cb_func()

delegate void NIM.nim_client_multiport_push_config_cb_func ( int  rescode,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  content,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_params,
IntPtr  user_data 
)

◆ nim_global_net_detect_cb_func()

delegate void NIM.nim_global_net_detect_cb_func ( int  rescode,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_params,
IntPtr  user_data 
)

◆ nim_publish_event_cb_func()

internal delegate void NIM.nim_publish_event_cb_func ( int  res_code,
int  event_type,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  event_info_json,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_push_event_cb_func()

internal delegate void NIM.nim_push_event_cb_func ( int  res_code,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  event_info_json,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_query_subscribe_event_cb_func()

internal delegate void NIM.nim_query_subscribe_event_cb_func ( int  res_code,
int  event_type,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  subscribe_list_json,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_sdk_del_cache_file_cb_func()

delegate void NIM.nim_sdk_del_cache_file_cb_func ( ResponseCode  rescode,
IntPtr  user_data 
)

◆ nim_sdk_exception_cb_func()

delegate void NIM.nim_sdk_exception_cb_func ( NIMSDKException  exception,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  log,
IntPtr  user_data 
)

◆ nim_sdk_get_cache_file_info_cb_func()

delegate void NIM.nim_sdk_get_cache_file_info_cb_func ( [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  info,
IntPtr  user_data 
)

◆ nim_subscribe_event_cb_func()

internal delegate void NIM.nim_subscribe_event_cb_func ( int  res_code,
int  event_type,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  faild_list_json,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_talk_recall_msg_func()

delegate void NIM.nim_talk_recall_msg_func ( int  rescode,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  content,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_talk_receive_broadcast_cb_func()

delegate void NIM.nim_talk_receive_broadcast_cb_func ( [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  content,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_unsubscribe_event_cb_func()

internal delegate void NIM.nim_unsubscribe_event_cb_func ( int  res_code,
int  event_type,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  faild_list_json,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_vchat_audio_data_cb_func()

delegate void NIM.nim_vchat_audio_data_cb_func ( ulong  time,
IntPtr  data,
uint  size,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_vchat_audio_data_cb_func_ex()

delegate void NIM.nim_vchat_audio_data_cb_func_ex ( ulong  time,
IntPtr  data,
uint  size,
int  channels,
int  rate,
int  volume,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_vchat_audio_data_sync_cb_func()

delegate ulong NIM.nim_vchat_audio_data_sync_cb_func ( IntPtr  data,
ulong  size,
double  sample_rate,
IntPtr  user_data 
)

◆ nim_vchat_device_status_cb_func()

delegate void NIM.nim_vchat_device_status_cb_func ( NIMDeviceType  type,
uint  status,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  device_path,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_vchat_enum_device_devpath_sync_cb_func()

delegate void NIM.nim_vchat_enum_device_devpath_sync_cb_func ( bool  ret,
NIMDeviceType  type,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_vchat_start_device_cb_func()

delegate void NIM.nim_vchat_start_device_cb_func ( NIMDeviceType  type,
bool  ret,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ nim_vchat_video_data_cb_func()

delegate void NIM.nim_vchat_video_data_cb_func ( ulong  time,
IntPtr  data,
uint  size,
uint  width,
uint  height,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ NimNetworkDetectionDelegate()

delegate void NIM.NimNetworkDetectionDelegate ( NetDetectionRes  error,
NetDetectResult  result,
IntPtr  userData 
)

◆ NimProxyDetectionDelegate()

delegate void NIM.NimProxyDetectionDelegate ( bool  connection,
NIMProxyDetectStep  step 
)

◆ NIMTeamNotificationFilterFunc()

delegate bool NIM.NIMTeamNotificationFilterFunc ( [MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  content,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  jsonExtension,
IntPtr  userData 
)

◆ NimVchatAudioRecordOptCbFunc()

delegate void NIM.NimVchatAudioRecordOptCbFunc ( bool  ret,
int  code,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  file,
Int64  time,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

音频录制操作回调,实际的开始录制和结束都会在NimVchatCbFunc中返回

Parameters
ret结果代码,true表示成功
code对应NIMVChatAudioRecordCode,用于获得失败时的错误原因
file文件路径
time录制结束时有效,对应毫秒级的录制时长
json_extension无效扩展字段
user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!

◆ NIMVChatAudioRecordOptHandler()

delegate void NIM.NIMVChatAudioRecordOptHandler ( bool  ret,
int  code,
string  file,
Int64  time,
string  json_extension 
)

音频录制操作回调,实际的开始录制和结束都会在NIMVChatSessionStatus.onSessionAuRecordInfoStateNotify中返回

Parameters
ret结果代码,true表示成功
code对应NIMVChatAudioRecordCode,用于获得失败时的错误原因
file文件路径
time录制结束时有效,对应毫秒级的录制时长
json_extensionjson_extension Json string 无效扩展字段

◆ NimVchatCbFunc()

delegate void NIM.NimVchatCbFunc ( NIMVideoChatSessionType  type,
long  channel_id,
int  code,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ NimVchatMp4RecordOptCbFunc()

delegate void NIM.NimVchatMp4RecordOptCbFunc ( bool  ret,
int  code,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  file,
Int64  time,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

NIM MP4操作回调,实际的开始录制和结束都会在NIMVChatHanler中返回

Parameters
ret结果代码,true表示成功
code对应NIMVChatMp4RecordCode,用于获取失败时的错误原因
file文件路径
time录制结束时有效,对应毫秒级的录制时长
json_extension无效扩展字段
user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理

◆ NIMVChatMp4RecordOptHandler()

delegate void NIM.NIMVChatMp4RecordOptHandler ( bool  ret,
int  code,
string  file,
Int64  time,
string  json_extension 
)

MP4操作回调,实际的开始录制和结束都会在NIMVChatSessionStatus.onSessionMp4InfoStateNotify中返回

Parameters
ret结果代码,true表示成功
code对应NIMVChatMp4RecordCode,用于获得失败时的错误原因
file文件路径
time录制结束时有效,对应毫秒级的录制时长
json_extensionjson_extension Json string 无效扩展字段

◆ NimVchatOpt2CbFunc()

delegate void NIM.NimVchatOpt2CbFunc ( int  code,
long  channel_id,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

NIM 操作回调,通用的操作回调接口

Parameters
codecode 结果代码,code==200表示成功
channel_id通道id
json_extension扩展字段
user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理

◆ NIMVChatOpt2Handler()

delegate void NIM.NIMVChatOpt2Handler ( int  code,
long  channel_id,
string  json_extension 
)

操作回调,通用的操作回调接口

Parameters
code结果代码,code==200表示成功
channel_idchannel_id 通道id
json_extensionson_extension Json string 扩展字段kNIMVChatSessionId,加入多人的返回中带有kNIMVChatCustomInfo

◆ NimVchatOptCbFunc()

delegate void NIM.NimVchatOptCbFunc ( bool  ret,
int  code,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  json_extension,
IntPtr  user_data 
)

◆ NIMVChatOptHandler()

delegate void NIM.NIMVChatOptHandler ( bool  ret,
int  code,
string  json_extension 
)

操作回调,通用的操作回调接口

Parameters
ret结果代码,true表示成功
code暂时无效
json_extensionjson_extension Json string 扩展字段

◆ NimWriteLogDelegate()

delegate void NIM.NimWriteLogDelegate ( int  level,
string  log 
)

◆ OnSessionAuRecordInfoNotifyHandler()

delegate void NIM.OnSessionAuRecordInfoNotifyHandler ( long  channel_id,
int  code,
NIMVChatAuRecordState  record_info 
)

通知音频录制状态

Parameters
channel_id频道id
code无效
record_info音频录制状态信息

◆ onSessionCalleeAckNotifyHandler()

delegate void NIM.onSessionCalleeAckNotifyHandler ( long  channel_id,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  uid,
int  mode,
bool  accept 
)

确认通话,接受拒绝通知

Parameters
channel_id频道id
uid对方uid
mode通话类型
accept结果

◆ onSessionConnectNotifyHandler()

delegate void NIM.onSessionConnectNotifyHandler ( long  channel_id,
int  code,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  record_file,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  video_record_file,
long  chat_time,
ulong  chat_rx,
ulong  chat_tx 
)

通话中链接状态通知

Parameters
channel_id频道id
code结果状态
record_addr录制音频文件名(服务器开启录制时有效)
record_file录制视频文件名(服务器开启录制时有效)
chat_time通话本地时长,code为1001有效
chat_rx下行数据量 code为1001有效
chat_tx上行数据量 code 为1001有效

◆ onSessionControlNotifyHandler()

delegate void NIM.onSessionControlNotifyHandler ( long  channel_id,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  uid,
int  type 
)

控制操作通知

Parameters
channel_id频道id
uid对方uid
type操作类型

◆ onSessionControlResHandler()

delegate void NIM.onSessionControlResHandler ( long  channel_id,
int  code,
int  type 
)

控制操作结果

Parameters
channel_id频道id
code结果
type操作类型

◆ onSessionHandler()

delegate void NIM.onSessionHandler ( long  channel_id,
int  code 
)

调用接口回调

Parameters
channel_id频道id
code结果

◆ onSessionInviteNotifyHandler()

delegate void NIM.onSessionInviteNotifyHandler ( long  channel_id,
string  uid,
int  mode,
long  time,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  customInfo 
)

收到邀请

Parameters
channel_id频道id
uid对方uid
mode通话类型
time毫秒级 时间戳

◆ OnSessionLiveStateInfoNotifyHandler()

delegate void NIM.OnSessionLiveStateInfoNotifyHandler ( long  channel_id,
int  code,
NIMVChatLiveState  state 
)

直播状态信息通知

Parameters
channel_id频道id
code结果类型或错误类型
state直播状态

◆ OnSessionMP4InfoNotifyHandler()

delegate void NIM.OnSessionMP4InfoNotifyHandler ( long  channel_id,
int  code,
NIMVChatMP4State  mp4_info 
)

通知MP4录制状态,包括开始录制和结束录制

Parameters
channel_id频道id
code无效
mp4_infomp4状态信息

◆ onSessionNetStatusHandler()

delegate void NIM.onSessionNetStatusHandler ( long  channel_id,
int  status,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  uid 
)

通话中网络状态

Parameters
channel_id频道id
status状态
uid账号

◆ onSessionPeopleStatusHandler()

delegate void NIM.onSessionPeopleStatusHandler ( long  channel_id,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  uid,
int  status 
)

通话中成员状态

Parameters
channel_id频道id
uid对方uid
status状态 NIMVideoChatSessionStatus

◆ onSessionRealtimeInfoNotifyHandler()

delegate void NIM.onSessionRealtimeInfoNotifyHandler ( long  channel_id,
int  code,
NIMVChatRealtimeState  state 
)

视频实时状态信息通知

Parameters
channel_id频道id
code结果状态
state实时状态信息

◆ onSessionSyncAckNotifyHandler()

delegate void NIM.onSessionSyncAckNotifyHandler ( long  channel_id,
int  code,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  uid,
int  mode,
bool  accept,
long  time,
int  client 
)

其他端接听挂断后的同步通知

Parameters
channel_id频道id
uid对方uid
mode通话类型
accept结果
time毫秒级 时间戳
client客户端类型

◆ onSessionVolumeNotifyHandler()

delegate void NIM.onSessionVolumeNotifyHandler ( long  channel_id,
int  code,
NIMVchatAudioVolumeState  state 
)

音量状态通知

Parameters
channel_id频道id
code结果状态
state音量状态信息

◆ RecallMessageDelegate()

delegate void NIM.RecallMessageDelegate ( ResponseCode  result,
RecallNotification []  notify 
)

◆ ReceiveBatchMesaagesDelegate()

delegate void NIM.ReceiveBatchMesaagesDelegate ( List< NIMReceivedMessage msgsList)

◆ ReceiveBroadcastDelegate()

delegate void NIM.ReceiveBroadcastDelegate ( NIMBroadcastMessage  msg)

◆ ReceiveBroadcastMsgsDelegate()

delegate void NIM.ReceiveBroadcastMsgsDelegate ( List< NIMBroadcastMessage msg)

◆ ReportUploadProgressDelegate()

delegate void NIM.ReportUploadProgressDelegate ( long  uploadedSize,
long  totalSize,
object  progressData 
)

◆ StartDeviceResultHandler()

delegate void NIM.StartDeviceResultHandler ( NIMDeviceType  type,
bool  ret 
)

启动设备委托

Parameters
type设备类型
ret是否成功

◆ TeamNotificationFilterDelegate()

delegate bool NIM.TeamNotificationFilterDelegate ( NIMIMMessage  msg,
string  jsonExtension 
)

◆ UploadFileCallback()

delegate void NIM.UploadFileCallback ( long  uploadedSize,
long  totalSize,
[MarshalAs(UnmanagedType.CustomMarshaler, MarshalTypeRef=typeof(NimUtility.Utf8StringMarshaler))] string  jsonExtension,
IntPtr  userData 
)

◆ VideoDataHandler()

delegate void NIM.VideoDataHandler ( ulong  time,
IntPtr  data,
uint  size,
uint  width,
uint  height,
string  json_extension 
)

视频数据委托

Parameters
time毫秒级时间戳
data数据指针, ARGB
size数据长途sizeof(char)
width画面宽
height画面高
json_extensionJson string kNIMVideoSubType(缺省为kNIMVideoSubTypeARGB),收到对方视频数据返回kNIMDeviceDataUid和kNIMDeviceDataAccount
user_dataAPP的自定义用户数据,SDK只负责传回给回调函数cb,不做任何处理!