NERtc Unity SDK V.5.4.128
载入中...
搜索中...
未找到
nertc 命名空间参考

class  AudioDeviceManager
 
class  DeviceCollection
 
class  IAudioDeviceManager
 
interface  IAudioFrameObserver
 
class  IDeviceCollection
 
interface  IMediaStatsObserver
 
interface  IPredecodeFrameObserver
 
class  IRtcChannel
 
class  IRtcEngine
 
class  IRtcVoiceEngine
 
class  IVideoDeviceManager
 
interface  IVideoEncoderQosObserver
 
interface  IVideoFrameCallback
 
interface  IVideoFrameRawDataCallback
 
interface  IVoiceEngineCallback
 
class  MarshalExtension
 
struct  RtcAudioEncodedFrame
 
struct  RtcAudioFormat
 
struct  RtcAudioFrame
 
struct  RtcAudioFrameRequestFormat
 
struct  RtcAudioLayerRecvStats
 
struct  RtcAudioLayerSendStats
 
struct  RtcAudioRecordingConfiguration
 
struct  RtcAudioRecvStats
 
class  RtcAudioSendStats
 
struct  RtcAudioVolumeInfo
 
struct  RtcCameraCaptureConfig
 
struct  RtcCameraFocusAndExposureInfo
 
class  RtcChannel
 
class  RtcChannelMediaRelayConfig
 
struct  RtcChannelMediaRelayInfo
 
class  RtcConstants
 
struct  RtcCreateAudioEffectOption
 
struct  RtcCreateAudioMixingOption
 
struct  RtcDeviceInfo
 
struct  RtcEncryptionConfig
 
class  RtcEngine
 
class  RtcEngineContext
 
struct  RtcExternalVideoFrame
 
struct  RtcImageWatermarkConfig
 
struct  RtcJoinChannelOptions
 
struct  RtcLastmileProbeConfig
 
struct  RtcLastmileProbeOneWayResult
 
struct  RtcLastmileProbeResult
 
struct  RtcLiveStreamConfig
 
struct  RtcLiveStreamImageInfo
 
class  RtcLiveStreamLayout
 
class  RtcLiveStreamTaskInfo
 
struct  RtcLiveStreamTaskOption
 
struct  RtcLiveStreamUserTranscoding
 
struct  RtcNetworkQualityInfo
 
struct  RtcPoint
 
struct  RtcPositionInfo
 
struct  RtcPredecodeAudioInfo
 
struct  RtcPredecodeFrameInfo
 
struct  RtcPredecodeVideoInfo
 
struct  RtcRectangle
 
struct  RtcReverbParam
 
class  RtcScreenCaptureParameters
 
struct  RtcServerAddresses
 
struct  RtcSpatializerRoomProperty
 
struct  RtcStats
 
struct  RtcTextWatermarkConfig
 
struct  RtcTimestampWatermarkConfig
 
struct  RtcUserJoinExtraInfo
 
class  RtcVideoCanvas
 
struct  RtcVideoConfig
 
struct  RtcVideoCorrectionConfiguration
 
struct  RtcVideoDimensions
 
class  RtcVideoEncodedFrame
 
struct  RtcVideoFrame
 
struct  RtcVideoLayerRecvStats
 
struct  RtcVideoLayerSendStats
 
struct  RtcVideoRecvStats
 
struct  RtcVideoSendStats
 
struct  RtcVideoWatermarkConfig
 
struct  RtcVirtualBackgroundSource
 
class  RtcVoiceEngine
 
class  VideoDeviceManager
 
class  VideoFrameProcessor
 
class  VideoRawDataManager
 
class  YuvHelper
 

枚举

enum  RtcPredecodeMediaType : int { kNERtcPreDecodeMediaTypeAudio = 0 , kNERtcPreDecodeMediaTypeVideo = 1 , kNERtcPreDecodeMediaTypeUnknown = 100 }
 
enum  RtcErrorCode : int {
  kNERtcNoError = 0 , kNERtcErrChannelReservePermissionDenied = 403 , kNERtcErrChannelReserveTimeOut = 408 , kNERtcErrChannelReserveErrorParam = 414 ,
  kNERtcErrChannelReserveErrorAppKey = 417 , kNERtcErrChannelReserveUnknownError = 500 , kNERtcErrChannelReserveMoreThanTwoUser = 600 , kNERtcErrChannelPermissionKeyError = 901 ,
  kNERtcErrChannelPermissionKeyTimeout = 902 , kNERtcErrLsTaskRequestInvalid = 1301 , kNERtcErrLsTaskIsInvaild = 1400 , kNERtcErrLsTaskRoomExited = 1401 ,
  kNERtcErrLsTaskNumLimit = 1402 , kNERtcErrLsTaskDuplicateId = 1403 , kNERtcErrLsTaskNotFound = 1404 , kNERtcErrLsTaskRequestErr = 1417 ,
  kNERtcErrLsTaskInternalServerErr = 1500 , kNERtcErrLsTaskInvalidLayout = 1501 , kNERtcErrLsTaskUserPicErr = 1512 , kNERtcErrChannelNoPublishPermission = 1620 ,
  kNERtcErrChannelNoSubscribePermission = 2803 , kNERtcErrServerPersonsInRoomReachedTheLimit = 4003 , kNERtcErrFatal = 30001 , kNERtcErrOutOfMemory = 30002 ,
  kNERtcErrInvalidParam = 30003 , kNERtcErrNotSupported = 30004 , kNERtcErrInvalidState = 30005 , kNERtcErrLackOfResource = 30006 ,
  kNERtcErrInvalidIndex = 30007 , kNERtcErrDeviceNotFound = 30008 , kNERtcErrInvalidDeviceSourceID = 30009 , kNERtcErrInvalidVideoProfile = 30010 ,
  kNERtcErrCreateDeviceSourceFail = 30011 , kNERtcErrInvalidRender = 30012 , kNERtcErrDevicePreviewAlreadyStarted = 30013 , kNERtcErrTransmitPendding = 30014 ,
  kNERtcErrConnectFail = 30015 , kNERtcErrCreateDumpFileFail = 30016 , kNERtcErrStartDumpFail = 30017 , kNERtcErrDesktopCaptureInvalidState = 30020 ,
  kNERtcErrDesktopCaptureInvalidParam = 30021 , kNERtcErrDesktopCaptureNotReady = 30022 , kNERtcErrDeviceOccupied = 30027 , kNERtcErrChannelAlreadyJoined = 30100 ,
  kNERtcErrChannelNotJoined = 30101 , kNERtcErrChannelRepleatedlyLeave = 30102 , kNERtcErrRequestJoinChannelFail = 30103 , kNERtcErrSessionNotFound = 30104 ,
  kNERtcErrUserNotFound = 30105 , kNERtcErrInvalidUserID = 30106 , kNERtcErrMediaNotStarted = 30107 , kNERtcErrSourceNotFound = 30108 ,
  kNERtcErrSwitchChannelInvalidState = 30109 , kNERtcErrChannelMediaRelayInvalidState = 30110 , kNERtcErrChannelMediaRelayPermissionDenied = 30111 , kNERtcErrChannelMediaRelayStopFailed = 30112 ,
  kNERtcErrEncryptNotSuitable = 30113 , kNERtcErrUserPermKeyAuthFailed = 30121 , kNERtcErrSEIExceedMaxDataLimit = 30122 , kNERtcErrDataChannelExceedMaxDataLimit = 30123 ,
  kNERtcErrConnectionNotFound = 30200 , kNERtcErrStreamNotFound = 30201 , kNERtcErrAddTrackFail = 30202 , kNERtcErrTrackNotFound = 30203 ,
  kNERtcErrMediaConnectionDisconnected = 30204 , kNERtcErrSignalDisconnected = 30205 , kNERtcErrServerKicked = 30206 , kNERtcErrKickedForRoomClosed = 30207 ,
  kNERtcErrChannelLeaveBySwitchAction = 30208 , kNERtcErrChannelLeaveByDuplicateUidLogin = 30209 , kNERtcErrOSAuthorize = 30300 , kNERtcErrPTTAuthorizeFailed = 31001 ,
  kNERtcErrPTTAuthNetError = 31002 , kNERtcErrPTTAuthTimeOut = 31003 , kNERtcErrPTTRecordingAreadyStarted = 31011 , kNERtcErrPTTRecordingOpenFileFailed = 31012 ,
  kNERtcErrPTTRecordingDurationTooShort = 31013 , kNERtcErrPTTRecordingNotStarted = 31014 , kNERtcErrPTTPlayOpenFileFailed = 31021 , kNERtcErrPTTPlayReadFileFailed = 31022 ,
  kNERtcErrPTTPlayNotStarted = 31023 , kNERtcErrPTTUploadOpenFileFailed = 31031 , kNERtcErrPTTUploadFileTooLarge = 31032 , kNERtcErrPTTUploadAuthFailed = 31033 ,
  kNERtcErrPTTUploadNetError = 31034 , kNERtcErrPTTUploadDataError = 31035 , kNERtcErrPTTDownloadOpenFileFailed = 31041 , kNERtcErrPTTDownloadAuthFailed = 31042 ,
  kNERtcErrPTTDownloadNetError = 31043 , kNERtcErrPTTDownloadNotFound = 31044 , kNERtcErrPTTDownloadDataError = 31045 , kNERtcErrPTTDownloadAuditing = 31046 ,
  kNERtcErrPTTDownloadAuditFailed = 31047 , kNERtcErrPTTSTTAuthFailed = 31051 , kNERtcErrPTTSTTNetError = 31052 , kNERtcErrPTTSTTTranslateFaild = 31053 ,
  kNERtcErrPTTSTTNotFound = 31054 , kNERtcErrPTTSTTDataError = 31055 , kNERtcErrPTTSTTAuditing = 31056 , kNERtcErrPTTSTTAuditFailed = 31057 ,
  kNERtcRuntimeErrADMNoAuthorize = 40000 , kNERtcRuntimeErrADMInitRecordingFailed = 40001 , kNERtcRuntimeErrADMStartRecordingFailed = 40002 , kNERtcRuntimeErrADMStopRecordingFailed = 40003 ,
  kNERtcRuntimeErrADMInitPlayoutFailed = 40004 , kNERtcRuntimeErrADMStartPlayoutFailed = 40005 , kNERtcRuntimeErrADMStopPlayoutFailed = 40006 , kNERtcRuntimeErrADMRecordingFailed = 40007 ,
  kNERtcRuntimeErrADMPlayoutFailed = 40008 , kNERtcRuntimeErrADMRecording = 40008 , kNERtcRuntimeErrADMPlayout = 40009 , kNERtcRuntimeErrVDMNoAuthorize = 50000 ,
  kNERtcRuntimeErrVDMNotScreenUseSubStream = 50001 , kNERtcRuntimeErrVDMCameraDisconnect = 50303 , kNERtcRuntimeErrVDMCameraFreezed = 50304 , kNERtcRuntimeErrVDMCameraUnknownError = 50305 ,
  kNERtcRuntimeErrVDMCameraNoFrame = 50306 , kNERtcRuntimeErrVDMCameraCreateFail = 50307 , kNERtcRuntimeErrScreenCaptureNoAuthorize = 50400
}
 
enum  RtcAudioMixingErrorCode : int {
  kNERtcAudioMixingErrorOK = 0 , kNERtcAudioMixingErrorFatal = 1 , kNERtcAudioMixingErrorCanNotOpen , kNERtcAudioMixingErrorDecode ,
  kNERtcAudioMixingErrorInterrupt , kNERtcAudioMixingErrorHttpNotFound , kNERtcAudioMixingErrorOpen , kNERtcAudioMixingErrorNInfo ,
  kNERtcAudioMixingErrorNStream , kNERtcAudioMixingErrorNCodec , kNERtcAudioMixingErrorNMem , kNERtcAudioMixingErrorCodecOpen ,
  kNERtcAudioMixingErrorInvalidInfo , kNERtcAudioMixingErrorOpenTimeout , kNERtcAudioMixingErrorIoTimeout , kNERtcAudioMixingErrorIo
}
 
enum  RtcWarnCode : int { kLiteSDKNoWarning = 0 , kNERtcWarningChannelAbilityNotMatch = 406 , kNERtcWarningASLAudioFallback = 407 }
 
enum  RtcInterfaceIdType : int { kNERtcIIDAudioDeviceManager = 1 , kNERtcIIDVideoDeviceManager = 2 }
 
enum  RtcClientRole : int { kNERtcClientRoleBroadcaster = 0 , kNERtcClientRoleAudience = 1 }
 
enum  RtcChannelProfileType : int { kNERtcChannelProfileCommunication = 0 , kNERtcChannelProfileLiveBroadcasting = 1 }
 
enum  RtcMediaPriorityType : int { kNERtcMediaPriorityHigh = 50 , kNERtcMediaPriorityNormal = 100 }
 
enum  RtcLiveStreamLayoutMode : int {
  kNERtcLayoutFloatingRightVertical = 0 , kNERtcLayoutFloatingLeftVertical , kNERtcLayoutSplitScreen , kNERtcLayoutSplitScreenScaling ,
  kNERtcLayoutCustom , kNERtcLayoutAudioOnly
}
 
enum  RtcLiveStreamMode : int { kNERtcLsModeVideo = 0 , kNERtcLsModeAudio = 1 }
 
enum  RtcLiveStreamVideoScaleMode : int { kNERtcLsModeVideoScaleFit = 0 , kNERtcLsModeVideoScaleCropFill = 1 }
 
enum  RtcLiveStreamAudioSampleRate : int { kNERtcLiveStreamAudioSampleRate32000 = 32000 , kNERtcLiveStreamAudioSampleRate44100 = 44100 , kNERtcLiveStreamAudioSampleRate48000 = 48000 }
 
enum  RtcLiveStreamAudioCodecProfile : int { kNERtcLiveStreamAudioCodecProfileLCAAC = 0 , kNERtcLiveStreamAudioCodecProfileHEAAC = 1 }
 
enum  RtcLiveStreamStateCode : int { kNERtcLsStatePushing = 505 , kNERtcLsStatePushFail = 506 , kNERtcLsStatePushStopped = 511 , kNERtcLsStateImageError = 512 }
 
enum  RtcOsCategory : int { kNERtcOSiOS = 1 , kNERtcOSAndroid = 2 , kNERtcOSPC = 3 , kNERtcOSWebRTC = 4 }
 
enum  RtcAudioProfileType : int {
  kNERtcAudioProfileDefault = 0 , kNERtcAudioProfileStandard = 1 , kNERtcAudioProfileStandardExtend = 2 , kNERtcAudioProfileMiddleQuality = 3 ,
  kNERtcAudioProfileMiddleQualityStereo = 4 , kNERtcAudioProfileHighQuality = 5 , kNERtcAudioProfileHighQualityStereo = 6
}
 
enum  RtcAudioScenarioType : int { kNERtcAudioScenarioDefault = 0 , kNERtcAudioScenarioSpeech = 1 , kNERtcAudioScenarioMusic = 2 , kNERtcAudioScenarioChatroom = 3 }
 
enum  RtcVoiceChangerType : int {
  kNERtcVoiceChangerOff = 0 , kNERtcVoiceChangerRobot = 1 , kNERtcVoiceChangerGaint = 2 , kNERtcVoiceChangerHorror = 3 ,
  kNERtcVoiceChangerMature = 4 , kNERtcVoiceChangerManToWoman = 5 , kNERtcVoiceChangerWomanToMan = 6 , kNERtcVoiceChangerManToLoli = 7 ,
  kNERtcVoiceChangerWomanToLoli = 8
}
 
enum  RtcVoiceBeautifierType : int {
  kNERtcVoiceBeautifierOff = 0 , kNERtcVoiceBeautifierMuffled = 1 , kNERtcVoiceBeautifierMellow = 2 , kNERtcVoiceBeautifierClear = 3 ,
  kNERtcVoiceBeautifierMagnetic = 4 , kNERtcVoiceBeautifierRecordingstudio = 5 , kNERtcVoiceBeautifierNature = 6 , kNERtcVoiceBeautifierKTV = 7 ,
  kNERtcVoiceBeautifierRemote = 8 , kNERtcVoiceBeautifierChurch = 9 , kNERtcVoiceBeautifierBedroom = 10 , kNERtcVoiceBeautifierLive = 11
}
 
enum  RtcVoiceEqualizationBand : int {
  kNERtcVoiceEqualizationBand31 = 0 , kNERtcVoiceEqualizationBand62 = 1 , kNERtcVoiceEqualizationBand125 = 2 , kNERtcVoiceEqualizationBand250 = 3 ,
  kNERtcVoiceEqualizationBand500 = 4 , kNERtcVoiceEqualizationBand1K = 5 , kNERtcVoiceEqualizationBand2K = 6 , kNERtcVoiceEqualizationBand4K = 7 ,
  kNERtcVoiceEqualizationBand8K = 8 , kNERtcVoiceEqualizationBand16K = 9
}
 
enum  RtcVideoProfileType : int {
  kNERtcVideoProfileLowest = 0 , kNERtcVideoProfileLow = 1 , kNERtcVideoProfileStandard = 2 , kNERtcVideoProfileHD720P = 3 ,
  kNERtcVideoProfileHD1080P = 4 , kNERtcVideoProfileNone = 5 , kNERtcVideoProfileMAX = kNERtcVideoProfileHD1080P , kNERtcVideoProfileFake = 6
}
 
enum  RtcRemoteVideoStreamType : int { kNERtcRemoteVideoStreamTypeHigh = 0 , kNERtcRemoteVideoStreamTypeLow = 1 , kNERtcRemoteVideoStreamTypeNone = 2 }
 
enum  RtcAudioDeviceType : int { kNERtcAudioDeviceUnknown = 0 , kNERtcAudioDeviceRecord , kNERtcAudioDevicePlayout }
 
enum  RtcAudioDeviceState : int { kNERtcAudioDeviceActive = 0 , kNERtcAudioDeviceUnactive }
 
enum  RtcAudioDeviceTransportType : int {
  kNERtcAudioDeviceTransportTypeUnknown = 0 , kNERtcAudioDeviceTransportTypeBluetooth = 1 , kNERtcAudioDeviceTransportTypeBluetoothA2DP = 2 , kNERtcAudioDeviceTransportTypeBluetoothLE = 3 ,
  kNERtcAudioDeviceTransportTypeUSB = 4 , kNERtcAudioDeviceTransportTypeHDMI = 5 , kNERtcAudioDeviceTransportTypeBuiltIn = 6 , kNERtcAudioDeviceTransportTypeThunderbolt = 7 ,
  kNERtcAudioDeviceTransportTypeAirPlay = 8 , kNERtcAudioDeviceTransportTypeVirtual = 9 , kNERtcAudioDeviceTransportTypeOther = 10
}
 
enum  RtcVideoDeviceTransportType : int { kNERtcVideoDeviceTransportTypeUnknown = 0 , kNERtcVideoDeviceTransportTypeUSB = 1 , kNERtcVideoDeviceTransportTypeVirtual = 2 , kNERtcVideoDeviceTransportTypeOther = 3 }
 
enum  RtcVideoDeviceType : int { kNERtcVideoDeviceUnknown = 0 , kNERtcVideoDeviceCapture }
 
enum  RtcVideoDeviceState : int { kNERtcVideoDeviceAdded = 0 , kNERtcVideoDeviceRemoved }
 
enum  RtcVideoScalingMode : int { kNERtcVideoScaleFit = 0 , kNERtcVideoScaleFullFill = 1 , kNERtcVideoScaleCropFill = 2 }
 
enum  RtcVideoMirrorMode : int { kNERtcVideoMirrorModeAuto = 0 , kNERtcVideoMirrorModeEnabled = 1 , kNERtcVideoMirrorModeDisabled = 2 }
 
enum  RtcVideoOrientationMode : int { kNERtcVideoOutputOrientationModeAdaptative = 0 , kNERtcVideoOutputOrientationModeFixedLandscape = 1 , kNERtcVideoOutputOrientationModeFixedPortrait = 2 }
 
enum  RtcConnectionStateType : int {
  kNERtcConnectionStateDisconnected = 1 , kNERtcConnectionStateConnecting = 2 , kNERtcConnectionStateConnected = 3 , kNERtcConnectionStateReconnecting = 4 ,
  kNERtcConnectionStateFailed = 5
}
 
enum  RtcReasonConnectionChangedType : int {
  kNERtcReasonConnectionChangedLeaveChannel = 1 , kNERtcReasonConnectionChangedChannelClosed = 2 , kNERtcReasonConnectionChangedBeKicked = 3 , kNERtcReasonConnectionChangedTimeOut = 4 ,
  kNERtcReasonConnectionChangedJoinChannel = 5 , kNERtcReasonConnectionChangedJoinSucceed = 6 , kNERtcReasonConnectionChangedReJoinSucceed = 7 , kNERtcReasonConnectionChangedMediaConnectionDisconnected = 8 ,
  kNERtcReasonConnectionChangedSignalDisconnected = 9 , kNERtcReasonConnectionChangedRequestChannelFailed = 10 , kNERtcReasonConnectionChangedJoinChannelFailed = 11 , kNERtcReasonConnectionChangedReDispatch = 12 ,
  kNERtcReasonConnectionChangedSettingProxyServer = 13
}
 
enum  RtcAudioStreamType : int { kNERtcAudioStreamTypeMain = 0 , kNERtcAudioStreamTypeSub = 1 }
 
enum  RtcNetworkQualityType : int {
  kNERtcNetworkQualityUnknown = 0 , kNERtcNetworkQualityExcellent = 1 , kNERtcNetworkQualityGood = 2 , kNERtcNetworkQualityPoor = 3 ,
  kNERtcNetworkQualityBad = 4 , kNERtcNetworkQualityVeryBad = 5 , kNERtcNetworkQualityDown = 6
}
 
enum  RtcVideoCropMode : int { kNERtcVideoCropModeDefault = 0 , kNERtcVideoCropMode16x9 = 1 , kNERtcVideoCropMode4x3 = 2 , kNERtcVideoCropMode1x1 = 3 }
 
enum  RtcVideoFramerateType : int {
  kNERtcVideoFramerateFpsDefault = 0 , kNERtcVideoFramerateFps7 = 7 , kNERtcVideoFramerateFps10 = 10 , kNERtcVideoFramerateFps15 = 15 ,
  kNERtcVideoFramerateFps24 = 24 , kNERtcVideoFramerateFps30 = 30 , kNERtcVideoFramerateFps60 = 60
}
 
enum  RtcDegradationPreference : int { kNERtcDegradationDefault = 0 , kNERtcDegradationMaintainFramerate = 1 , kNERtcDegradationMaintainQuality = 2 , kNERtcDegradationBalanced = 3 }
 
enum  RtcScreenProfileType {
  kNERtcScreenProfile480P = 0 , kNERtcScreenProfileHD720P = 1 , kNERtcScreenProfileHD1080P = 2 , kNERtcScreenProfileCustom = 3 ,
  kNERtcScreenProfileNone = 4 , kNERtcScreenProfileMAX = kNERtcScreenProfileHD1080P
}
 
enum  RtcScreenCaptureStatus {
  kNERtcScreenCaptureStatusStart = 1 , kNERtcScreenCaptureStatusPause = 2 , kNERtcScreenCaptureStatusResume = 3 , kNERtcScreenCaptureStatusStop = 4 ,
  kNERtcScreenCaptureStatusCovered = 5
}
 
enum  RtcSubStreamContentPrefer { kNERtcSubStreamContentPreferMotion = 0 , kNERtcSubStreamContentPreferDetails = 1 }
 
enum  RtcRecordType : int { kNERtcRecordTypeAll = 0 , kNERtcRecordTypeMix = 1 , kNERtcRecordTypeSingle = 2 }
 
enum  RtcAudioType : int { kNERtcAudioTypePCM16 = 0 }
 
enum  RtcRawAudioFrameOpModeType : int { kNERtcRawAudioFrameOpModeReadOnly = 0 , kNERtcRawAudioFrameOpModeReadWrite }
 
enum  RtcAudioPayloadType : int { kNERtcAudioPayloadTypeOPUS = 111 }
 
enum  RtcVideoType : int {
  kNERtcVideoTypeI420 = 0 , kNERtcVideoTypeNV12 = 1 , kNERtcVideoTypeNV21 = 2 , kNERtcVideoTypeBGRA = 3 ,
  kNERtcVideoTypeARGB = 4 , kNERtcVideoTypeCVPixelBuffer = 5
}
 
enum  RtcVideoRotation : int { kNERtcVideoRotation0 = 0 , kNERtcVideoRotation90 = 90 , kNERtcVideoRotation180 = 180 , kNERtcVideoRotation270 = 270 }
 
enum  RtcVideoCodecType : int { kNERtcVideoCodecTypeH264 = 3 }
 
enum  RtcNalFrameType { kNERtcNalFrameTypeIDR = 1 , kNERtcNalFrameTypeI = 2 , kNERtcNalFrameTypeP = 3 }
 
enum  RtcSessionLeaveReason : int {
  kNERtcSessionLeaveNormal = 0 , kNERtcSessionLeaveForFailOver = 1 , kNERtcSessionLeaveUpdate = 2 , kNERtcSessionLeaveForKick = 3 ,
  kNERtcSessionLeaveTimeOut = 4
}
 
enum  RtcAudioMixingState : int { kNERtcAudioMixingStateFinished = 0 , kNERtcAudioMixingStateFailed = 1 }
 
enum  RtcVideoStreamType : int { kNERTCVideoStreamMain = 0 , kNERTCVideoStreamSub = 1 , kNERTCVideoStreamCount }
 
enum  RtcChannelMediaRelayState : int { kNERtcChannelMediaRelayStateIdle = 0 , kNERtcChannelMediaRelayStateConnecting = 1 , kNERtcChannelMediaRelayStateRunning = 2 , kNERtcChannelMediaRelayStateFailure = 3 }
 
enum  RtcChannelMediaRelayEvent : int {
  kNERtcChannelMediaRelayEventDisconnect = 0 , kNERtcChannelMediaRelayEventConnecting = 1 , kNERtcChannelMediaRelayEventConnected = 2 , kNERtcChannelMediaRelayEventVideoSentToDestChannelSuccess = 3 ,
  kNERtcChannelMediaRelayEventAudioSentToDestChannelSuccess = 4 , kNERtcChannelMediaRelayEventOtherStreamSentToDestChannelSuccess = 5 , kNERtcChannelMediaRelayEventFailure = 100
}
 
enum  RtcLocalVideoWatermarkState : int {
  kNERtcLocalWatermarkStateSetSuccess , kNERtcLocalWatermarkStateDeviceNotSupported , kNERtcLocalWatermarkStateImgFormatNotSupported , kNERtcLocalWatermarkStateImgNumError ,
  kNERtcLocalWatermarkStateImgSizeError , kNERtcLocalWatermarkStateFPSError , kNERtcLocalWatermarkStateFontError , kNERtcLocalWatermarkStateWmAlphaError ,
  kNERtcLocalWatermarkStateTextContentEmptyError , kNERtcLocalWatermarkStateCancel = 20
}
 
enum  RtcWatermarkType : int { kNERtcWatermarkTypeImage = 0 , kNERtcWatermarkTypeText , kNERtcWatermarkTypeTimestamp }
 
enum  RtcLogLevel : int {
  kNERtcLogLevelFatal = 0 , kNERtcLogLevelError = 1 , kNERtcLogLevelWarning = 2 , kNERtcLogLevelInfo = 3 ,
  kNERtcLogLevelDetailInfo = 4 , kNERtcLogLevelVerbos = 5 , kNERtcLogLevelDebug = 6 , kNERtcLogLevelOff = 7
}
 
enum  RtcSendOnPubType : int { kNERtcSendOnPubNone = 0 , kNERtcSendOnPubHigh = 1 , kNERtcSendOnPubLow = 1 << 1 , kNERtcSendOnPubAll = kNERtcSendOnPubLow | kNERtcSendOnPubHigh }
 
enum  RtcAudioRecordingQuality : int { kNERtcAudioRecordingQualityLow = 0 , kNERtcAudioRecordingQualityMedium = 1 , kNERtcAudioRecordingQualityHigh = 2 }
 
enum  RtcAudioRecordingPosition : int { kNERtcAudioRecordingPositionMixedRecordingAndPlayback = 0 , kNERtcAudioRecordingPositionRecording = 1 , kNERtcAudioRecordingPositionMixedPlayback = 2 }
 
enum  RtcAudioRecordingCycleTime {
  kNERtcAudioRecordingCycleTime0 = 0 , kNERtcAudioRecordingCycleTime10 = 10 , kNERtcAudioRecordingCycleTime60 = 60 , kNERtcAudioRecordingCycleTime360 = 360 ,
  kNERtcAudioRecordingCycleTime900 = 900
}
 
enum  RtcAudioRecordingCode : int {
  kNERtcAudioRecordErrorSuffix = 1 , kNERtcAudioRecordOpenFileFailed = 2 , kNERtcAudioRecordStart = 3 , kNERtcAudioRecordError = 4 ,
  kNERtcAudioRecordFinish = 5
}
 
enum  RtcStreamFallbackOption : int { kNERtcStreamFallbackDisabled = 0 , kNERtcStreamFallbackVideoStreamLow = 1 , kNERtcStreamFallbackAudioOnly = 2 }
 
enum  RtcEncryptionMode : int { kNERtcGMCryptoSM4ECB = 0 }
 
enum  RtcLastmileProbeResultState : int { kNERtcLastmileProbeResultComplete = 1 , kNERtcLastmileProbeResultIncompleteNoBwe = 2 , kNERtcLastmileProbeResultUnavailable = 3 }
 
enum  RtcTransportType : int { kNERtcTransportTypeNoneProxy = 0 , kNERtcTransportTypeUDPProxy = 1 }
 
enum  RtcInstallCastAudioDriverResult : int { kNERtcInstallCastAudioDriverSuccess = 0 , kNERtcInstallCastAudioDriverNotAuthorized = 1 , kNERtcInstallCastAudioDriverFailed = 2 }
 
enum  RtcVirtualBackgroundSourcStateReason : int {
  kNERtcVirtualBackgroundSourceStateReasonSuccess = 0 , kNERtcVirtualBackgroundSourceStateReasonImageNotExist = 1 , kNERtcVirtualBackgroundSourceStateReasonImageFormatNotSupported = 2 , kNERtcVirtualBackgroundSourceStateReasonColorFormatNotSupported = 3 ,
  kNERtcVirtualBackgroundSourceStateReasonDeviceNotSupported = 4
}
 
enum  RtcVirtualBackgroundSourceType : int { kNERtcBackgroundColor = 1 , kNERtcBackgroundImage }
 
enum  RtcAudioDumpType : int { kNERtcAudioDumpTypePCM = 0 , kNERtcAudioDumpTypeAll = 1 , kNERtcAudioDumpTypeWAV = 2 }
 
enum  RtcRangeAudioMode : int { kNERtcRangeAudioModeDefault = 0 , kNERtcRangeAudioModeTeam = 1 }
 
enum  RtcMediaPubType : int { kNERtcMediaPubTypeAudio }
 
enum  RtcBeautyEffectType : int {
  kNERtcBeautyWhiteTeeth = 0 , kNERtcBeautyLightEye , kNERtcBeautyWhiten , kNERtcBeautySmooth ,
  kNERtcBeautySmallNose , kNERtcBeautyEyeDis , kNERtcBeautyEyeAngle , kNERtcBeautyMouth ,
  kNERtcBeautyBigEye , kNERtcBeautySmallFace , kNERtcBeautyJaw , kNERtcBeautyThinFace ,
  kNERtcBeautyFaceRuddy , kNERtcBeautyLongNose , kNERtcBeautyRenZhong , kNERtcBeautyMouthAngle ,
  kNERtcBeautyRoundEye , kNERtcBeautyOpenEyeAngle , kNERtcBeautyVFace , kNERtcBeautyThinUnderjaw ,
  kNERtcBeautyNarrowFace , kNERtcBeautyCheekBone , kNERtcBeautyFaceSharpen , kNERtcBeautyMouthWider ,
  kNERtcBeautyForeheadWrinkles , kNERtcBeautyDarkCircles , kNERtcBeautySmileLines , kNERtcBeautyShortFace
}
 
enum  RtcSpatializerRoomCapacity : int {
  kNERtcSpatializerRoomCapacitySmall = 0 , kNERtcSpatializerRoomCapacityMedium = 1 , kNERtcSpatializerRoomCapacityLarge = 2 , kNERtcSpatializerRoomCapacityHuge = 3 ,
  kNERtcSpatializerRoomCapacityNone = 4
}
 
enum  RtcSpatializerMaterialName : int {
  kNERtcSpatializerMaterialTransparent = 0 , kNERtcSpatializerMaterialAcousticCeilingTiles , kNERtcSpatializerMaterialBrickBare , kNERtcSpatializerMaterialBrickPainted ,
  kNERtcSpatializerMaterialConcreteBlockCoarse , kNERtcSpatializerMaterialConcreteBlockPainted , kNERtcSpatializerMaterialCurtainHeavy , kNERtcSpatializerMaterialFiberGlassInsulation ,
  kNERtcSpatializerMaterialGlassThin , kNERtcSpatializerMaterialGlassThick , kNERtcSpatializerMaterialGrass , kNERtcSpatializerMaterialLinoleumOnConcrete ,
  kNERtcSpatializerMaterialMarble , kNERtcSpatializerMaterialMetal , kNERtcSpatializerMaterialParquetOnConcrete , kNERtcSpatializerMaterialPlasterRough ,
  kNERtcSpatializerMaterialPlasterSmooth , kNERtcSpatializerMaterialPlywoodPanel , kNERtcSpatializerMaterialPolishedConcreteOrTile , kNERtcSpatializerMaterialSheetrock ,
  kNERtcSpatializerMaterialWaterOrIceSurface , kNERtcSpatializerMaterialWoodCeiling , kNERtcSpatializerMaterialWoodPanel , kNERtcSpatializerMaterialUniform
}
 
enum  RtcSpatializerRenderMode : int {
  kNERtcSpatializerRenderStereoPanning = 0 , kNERtcSpatializerRenderBinauralLowQuality , kNERtcSpatializerRenderBinauralMediumQuality , kNERtcSpatializerRenderBinauralHighQuality ,
  kNERtcSpatializerRenderRoomEffectsOnly
}
 
enum  RtcDistanceRolloffModel : int { kNERtcDistanceRolloffLogarithmic = 0 , kNERtcDistanceRolloffLinear , kNERtcDistanceRolloffNone }
 
enum  RtcVoiceAuditStatus : int {
  kNERtcVoiceAuditUnkonwn = -1 , kNERtcVoiceAuditing = 0 , kNERtcVoiceAuditFinished = 1 , kNERtcVoiceAuditServerError = 2 ,
  kNERtcVoiceAuditUnactivated = 3
}
 
enum  RtcAudioDeviceError : int {
  kNERtcAudioDeviceNoError = 0 , kNERtcAudioDeviceErrorInitRecording , kNERtcAudioDeviceErrorStartRecording , kNERtcAudioDeviceErrorStopRecording ,
  kNERtcAudioDeviceErrorInitPlayout , kNERtcAudioDeviceErrorStartPlayout , kNERtcAudioDeviceErrorStopplayout , kNERtcAudioDeviceErrorCaptureThreadStop ,
  kNERtcAudioDeviceErrorPlayoutThreadStop , kNERtcAudioDeviceErrorCaptureSampleRate , kNERtcAudioDeviceErrorPlayoutSampleRate , kNERtcAudioDeviceErrorConfigSession ,
  kNERtcAudioDeviceErrorCodeReporter
}
 
enum  RtcVideoDeviceError : int { kNERtcVideoDeviceErrorNoFrame = 0 , kNERtcVideoDeviceErrorNotAvailableInBackground , kNERtcVideoDeviceErrorUsingByAnotherClient , kNERtcVideoDeviceErrorNotAvailableWithMultipleForegroundApps }
 
enum  RtcAudioOutputRouting : int {
  kNERtcAudioOutputRoutingDefault = 0 , kNERtcAudioOutputRoutingHeadset , kNERtcAudioOutputRoutingEarpiece , kNERtcAudioOutputRoutingLoudspeaker ,
  kNERtcAudioOutputRoutingBluetooth
}
 
enum  RtcNetworkType {
  kNERtcNetworkTypeUnknown = 0 , kNERtcNetworkTypeEthernet , kNERtcNetworkTypeWifi , kNERtcNetworkType2G ,
  kNERtcNetworkType3G , kNERtcNetworkType4G , kNERtcNetworkType5G , kNERtcNetworkTypeWWAN ,
  kNERtcNetworkTypeBluetooth , kNERtcNetworkTypeNone
}
 
enum  RtcAudioSessionOperationRestriction : int { kNERtcAudioSessionOperationRestrictionNone = 0 , kNERtcAudioSessionOperationRestrictionAll , kNERtcAudioSessionOperationRestrictionDeactivateSession }
 
enum  RtcAudioFocusMode : int {
  kNERtcAudioFocusOff = 0 , kNERtcAudioFocusGain = 1 , kNERtcAudioFocusGainTransient = 2 , kNERtcAudioFocusGainTransientMayDuck = 3 ,
  kNERtcAudioFocusGainTransientExclisive = 4
}
 
enum  RtcCameraPosition : int { kNERtcCameraPositionBack = 0 , kNERtcCameraPositionFront }
 

函数

delegate void RtcTakeSnapshotCallback (RtcErrorCode errorCode, string image)
 
delegate void OnError (int errorCode, string msg)
 
delegate void OnWarning (int warnCode, string msg)
 
delegate void OnAPICallExecuted (string apiName, RtcErrorCode errorCode, string msg)
 
delegate void OnJoinChannel (ulong cid, ulong uid, RtcErrorCode result, ulong elapsed)
 
delegate void OnReconnectingStart (ulong cid, ulong uid)
 
delegate void OnConnectionStateChange (RtcConnectionStateType state, RtcReasonConnectionChangedType reason)
 
delegate void OnNetworkTypeChanged (RtcNetworkType newType)
 
delegate void OnRejoinChannel (ulong cid, ulong uid, RtcErrorCode result, ulong elapsed)
 
delegate void OnLeaveChannel (RtcErrorCode result)
 
delegate void OnDisconnect (RtcErrorCode reason)
 
delegate void OnClientRoleChanged (RtcClientRole oldRole, RtcClientRole newRole)
 
delegate void OnUserJoined (ulong uid, string userName, RtcUserJoinExtraInfo customInfo)
 
delegate void OnUserLeft (ulong uid, RtcSessionLeaveReason reason, RtcUserJoinExtraInfo customInfo)
 
delegate void OnUserAudioStart (RtcAudioStreamType type, ulong uid)
 
delegate void OnUserAudioStop (RtcAudioStreamType type, ulong uid)
 
delegate void OnUserVideoStart (RtcVideoStreamType type, ulong uid, RtcVideoProfileType maxProfile)
 
delegate void OnUserVideoStop (RtcVideoStreamType type, ulong uid)
 
delegate void OnScreenCaptureStatusChanged (RtcScreenCaptureStatus status)
 
delegate void OnUserVideoProfileUpdate (ulong uid, RtcVideoProfileType maxProfile)
 
delegate void OnUserAudioMute (RtcAudioStreamType type, ulong uid, bool mute)
 
delegate void OnUserVideoMute (RtcVideoStreamType type, ulong uid, bool mute)
 
delegate void OnAudioDeviceRoutingDidChange (RtcAudioOutputRouting routing)
 
delegate void OnAudioDeviceStateChanged (string deviceId, RtcAudioDeviceType deviceType, RtcAudioDeviceState deviceState)
 
delegate void OnAudioDefaultDeviceChanged (string deviceId, RtcAudioDeviceType deviceType)
 
delegate void OnVideoDeviceStateChanged (string deviceId, RtcVideoDeviceType deviceType, RtcVideoDeviceState deviceState)
 
delegate void OnCameraFocusChanged (RtcCameraFocusAndExposureInfo info)
 
delegate void OnCameraExposureChanged (RtcCameraFocusAndExposureInfo info)
 
delegate void OnFirstAudioDataReceived (RtcAudioStreamType type, ulong uid)
 
delegate void OnFirstVideoDataReceived (RtcVideoStreamType type, ulong uid)
 
delegate void OnRemoteVideoReceiveSizeChanged (ulong uid, RtcVideoStreamType type, uint width, uint height)
 
delegate void OnLocalVideoRenderSizeChanged (RtcVideoStreamType type, uint width, uint height)
 
delegate void OnFirstAudioFrameDecoded (RtcAudioStreamType type, ulong uid)
 
delegate void OnFirstVideoFrameDecoded (RtcVideoStreamType type, ulong uid, uint width, uint height)
 
delegate void OnCaptureVideoFrame (IntPtr data, RtcVideoType type, uint width, uint height, uint count, uint[] offset, uint[] stride, RtcVideoRotation rotation)
 
delegate void OnAudioMixingStateChanged (RtcAudioMixingState state, RtcAudioMixingErrorCode errorCode)
 
delegate void OnAudioMixingTimestampUpdate (ulong timestampMS)
 
delegate void OnAudioEffectTimestampUpdate (uint effectId, ulong timestamp)
 
delegate void OnAudioEffectFinished (uint effectId)
 
delegate void OnLocalAudioVolumeIndication (int volume, bool enableVad)
 
delegate void OnRemoteAudioVolumeIndication (RtcAudioVolumeInfo[] speakers, int totalVolume)
 
delegate void OnAddLiveStreamTask (string taskId, string url, int errorCode)
 
delegate void OnUpdateLiveStreamTask (string taskId, string url, int errorCode)
 
delegate void OnRemoveLiveStreamTask (string taskId, int errorCode)
 
delegate void OnLiveStreamStateChanged (string taskId, string url, RtcLiveStreamStateCode state)
 
delegate void OnAudioHowling (bool howling)
 
delegate void OnRecvSEIMessage (ulong uid, byte[] data, uint dataSize)
 
delegate void OnAudioRecording (RtcAudioRecordingCode code, string filePath)
 
delegate void OnMediaRelayStateChanged (RtcChannelMediaRelayState state, string channelName)
 
delegate void OnMediaRelayEvent (RtcChannelMediaRelayEvent evt, string channelName, RtcErrorCode error)
 
delegate void OnPublishFallbackToAudioOnly (bool isFallback, RtcVideoStreamType streamType)
 
delegate void OnSubscribeFallbackToAudioOnly (ulong uid, bool isFallback, RtcVideoStreamType streamType)
 
delegate void OnLastmileQuality (RtcNetworkQualityType quality)
 
delegate void OnLastmileProbeResult (RtcLastmileProbeResult result)
 
delegate void OnMediaRightChanged (bool audioBanned, bool videoBanned)
 
delegate void OnCheckNECastAudioDriverResult (RtcInstallCastAudioDriverResult result)
 
delegate void OnVirtualBackgroundSourceEnabled (bool enabled, RtcVirtualBackgroundSourcStateReason reason)
 
delegate void OnLocalVideoWatermarkState (RtcVideoStreamType type, RtcLocalVideoWatermarkState state)
 
delegate void OnPermissionKeyWillExpire ()
 
delegate void OnUpdatePermissionKey (string key, RtcErrorCode error, int timeout)
 
delegate void OnUserDataReceiveMessage (ulong uid, string sourceId, byte[] data)
 
delegate void OnUserDataStart (ulong uid)
 
delegate void OnUserDataStop (ulong uid)
 
delegate void OnUserDataStateChanged (ulong uid, string sourceId)
 
delegate void OnUserDataBufferedAmountChanged (ulong uid, string sourceId, ulong previousAmount)
 
delegate void ChannelOnError (IRtcChannel channel, int errorCode, string msg)
 
delegate void ChannelOnWarning (IRtcChannel channel, int warnCode, string msg)
 
delegate void ChannelOnAPICallExecuted (IRtcChannel channel, string apiName, RtcErrorCode errorCode, string msg)
 
delegate void ChannelOnJoinChannel (IRtcChannel channel, ulong cid, ulong uid, RtcErrorCode result, ulong elapsed)
 
delegate void ChannelOnReconnectingStart (IRtcChannel channel, ulong cid, ulong uid)
 
delegate void ChannelOnConnectionStateChange (IRtcChannel channel, RtcConnectionStateType state, RtcReasonConnectionChangedType reason)
 
delegate void ChannelOnRejoinChannel (IRtcChannel channel, ulong cid, ulong uid, RtcErrorCode result, ulong elapsed)
 
delegate void ChannelOnLeaveChannel (IRtcChannel channel, RtcErrorCode result)
 
delegate void ChannelOnDisconnect (IRtcChannel channel, RtcErrorCode reason)
 
delegate void ChannelOnClientRoleChanged (IRtcChannel channel, RtcClientRole oldRole, RtcClientRole newRole)
 
delegate void ChannelOnUserJoined (IRtcChannel channel, ulong uid, string userName, RtcUserJoinExtraInfo customInfo)
 
delegate void ChannelOnUserLeft (IRtcChannel channel, ulong uid, RtcSessionLeaveReason reason, RtcUserJoinExtraInfo customInfo)
 
delegate void ChannelOnUserAudioStart (IRtcChannel channel, RtcAudioStreamType type, ulong uid)
 
delegate void ChannelOnUserAudioStop (IRtcChannel channel, RtcAudioStreamType type, ulong uid)
 
delegate void ChannelOnUserAudioMute (IRtcChannel channel, RtcAudioStreamType type, ulong uid, bool mute)
 
delegate void ChannelOnUserVideoStart (IRtcChannel channel, RtcVideoStreamType type, ulong uid, RtcVideoProfileType maxProfile)
 
delegate void ChannelOnUserVideoStop (IRtcChannel channel, RtcVideoStreamType type, ulong uid)
 
delegate void ChannelOnUserVideoMute (IRtcChannel channel, RtcVideoStreamType type, ulong uid, bool mute)
 
delegate void ChannelOnScreenCaptureStatusChanged (IRtcChannel channel, RtcScreenCaptureStatus status)
 
delegate void ChannelOnUserVideoProfileUpdate (IRtcChannel channel, ulong uid, RtcVideoProfileType maxProfile)
 
delegate void ChannelOnFirstAudioDataReceived (IRtcChannel channel, RtcAudioStreamType type, ulong uid)
 
delegate void ChannelOnFirstVideoDataReceived (IRtcChannel channel, RtcVideoStreamType type, ulong uid)
 
delegate void ChannelOnRemoteVideoReceiveSizeChanged (ulong uid, RtcVideoStreamType type, uint width, uint height)
 
delegate void ChannelOnLocalVideoRenderSizeChanged (RtcVideoStreamType type, uint width, uint height)
 
delegate void ChannelOnFirstAudioFrameDecoded (IRtcChannel channel, RtcAudioStreamType type, ulong uid)
 
delegate void ChannelOnFirstVideoFrameDecoded (IRtcChannel channel, RtcVideoStreamType type, ulong uid, uint width, uint height)
 
delegate void ChannelOnLocalAudioVolumeIndication (IRtcChannel channel, int volume, bool enableVad)
 
delegate void ChannelOnRemoteAudioVolumeIndication (IRtcChannel channel, RtcAudioVolumeInfo[] speakers, int totalVolume)
 
delegate void ChannelOnAddLiveStreamTask (IRtcChannel channel, string taskId, string url, int errorCode)
 
delegate void ChannelOnUpdateLiveStreamTask (IRtcChannel channel, string taskId, string url, int errorCode)
 
delegate void ChannelOnRemoveLiveStreamTask (IRtcChannel channel, string taskId, int errorCode)
 
delegate void ChannelOnLiveStreamStateChanged (IRtcChannel channel, string taskId, string url, RtcLiveStreamStateCode state)
 
delegate void ChannelOnRecvSEIMessage (IRtcChannel channel, ulong uid, byte[] data, uint dataSize)
 
delegate void ChannelOnMediaRelayStateChanged (IRtcChannel channel, RtcChannelMediaRelayState state, string channelName)
 
delegate void ChannelOnMediaRelayEvent (IRtcChannel channel, RtcChannelMediaRelayEvent evt, string channelName, RtcErrorCode error)
 
delegate void ChannelOnPublishFallbackToAudioOnly (IRtcChannel channel, bool isFallback, RtcVideoStreamType streamType)
 
delegate void ChannelOnSubscribeFallbackToAudioOnly (IRtcChannel channel, ulong uid, bool isFallback, RtcVideoStreamType streamType)
 
delegate void ChannelOnMediaRightChanged (IRtcChannel channel, bool audioBanned, bool videoBanned)
 
delegate void ChannelOnPermissionKeyWillExpire (IRtcChannel channel)
 
delegate void ChannelOnUpdatePermissionKey (IRtcChannel channel, string key, RtcErrorCode errorCode, int timeout)
 

枚举类型说明

◆ RtcPredecodeMediaType

解码前媒体类型。

枚举值
kNERtcPreDecodeMediaTypeAudio 

Audio 媒体类型。

kNERtcPreDecodeMediaTypeVideo 

Video 媒体类型。

kNERtcPreDecodeMediaTypeUnknown 

Unknown 媒体类型。

◆ RtcErrorCode

enum nertc.RtcErrorCode : int

错误代码。
错误代码意味着 SDK 遇到不可恢复的错误,需要应用程序干预。

枚举值
kNERtcNoError 

没有错误。

kNERtcErrChannelReservePermissionDenied 
  • 权限不足。原因包括:
  • 未开通音视频通话 2.0 服务,或试用期已过、未及时续费等。
  • 安全模式下加入房间时未设置 Token。
  • 其他权限问题。
kNERtcErrChannelReserveTimeOut 

请求超时。

kNERtcErrChannelReserveErrorParam 

服务器请求参数错误。

kNERtcErrChannelReserveErrorAppKey 

无效的 App KEY。

kNERtcErrChannelReserveUnknownError 

分配房间服务器未知错误。

kNERtcErrChannelReserveMoreThanTwoUser 

只支持两个用户, 有第三个人试图使用相同的房间名分配房间。

kNERtcErrChannelPermissionKeyError 

权限密钥错误。

kNERtcErrChannelPermissionKeyTimeout 

权限密钥超时。

kNERtcErrLsTaskRequestInvalid 

task 请求无效,被后续操作覆盖。

kNERtcErrLsTaskIsInvaild 

task 参数格式错误。

kNERtcErrLsTaskRoomExited 

房间已经退出。

kNERtcErrLsTaskNumLimit 

推流任务超出上限。

kNERtcErrLsTaskDuplicateId 

推流 ID 重复。

kNERtcErrLsTaskNotFound 

taskId 任务不存在,或房间不存在。

kNERtcErrLsTaskRequestErr 

请求失败。

kNERtcErrLsTaskInternalServerErr 

服务器内部错误。

kNERtcErrLsTaskInvalidLayout 

布局参数错误。

kNERtcErrLsTaskUserPicErr 

用户图片错误。

kNERtcErrChannelNoPublishPermission 

没有发布权限。

kNERtcErrChannelNoSubscribePermission 

没有订阅权限。

kNERtcErrServerPersonsInRoomReachedTheLimit 

加入房间的人数达到限制。

kNERtcErrFatal 

通用错误。

kNERtcErrOutOfMemory 

内存耗尽。

kNERtcErrInvalidParam 

错误的参数。

kNERtcErrNotSupported 

不支持的操作。

kNERtcErrInvalidState 

当前状态不支持的操作。

kNERtcErrLackOfResource 

资源耗尽。

kNERtcErrInvalidIndex 

无效 index。

kNERtcErrDeviceNotFound 

设备未找到。

kNERtcErrInvalidDeviceSourceID 

无效设备 ID。

kNERtcErrInvalidVideoProfile 

无效的视频 profile type。

kNERtcErrCreateDeviceSourceFail 

设备创建错误。

kNERtcErrInvalidRender 

无效的渲染容器。

kNERtcErrDevicePreviewAlreadyStarted 

设备已经打开。

kNERtcErrTransmitPendding 

传输错误。

kNERtcErrConnectFail 

连接服务器错误。

kNERtcErrCreateDumpFileFail 

创建 Audio dump 文件失败。

kNERtcErrStartDumpFail 

开启 Audio dump 失败。

kNERtcErrDesktopCaptureInvalidState 

启动桌面录屏失败,不能与 camera 同时启动。

kNERtcErrDesktopCaptureInvalidParam 

桌面录屏传入参数无效。

kNERtcErrDesktopCaptureNotReady 

桌面录屏未就绪。

kNERtcErrDeviceOccupied 

所选设备已被占用。

kNERtcErrChannelAlreadyJoined 

重复加入房间。

kNERtcErrChannelNotJoined 

尚未加入房间。

kNERtcErrChannelRepleatedlyLeave 

重复离开房间。

kNERtcErrRequestJoinChannelFail 

加入房间操作失败。

kNERtcErrSessionNotFound 

会话未找到。

kNERtcErrUserNotFound 

用户未找到。

kNERtcErrInvalidUserID 

无效的用户 ID。

kNERtcErrMediaNotStarted 

用户多媒体数据未连接。

kNERtcErrSourceNotFound 

source 未找到。

kNERtcErrSwitchChannelInvalidState 

切换房间状态无效。

kNERtcErrChannelMediaRelayInvalidState 

重复调用 startChannelMediaRelay。

kNERtcErrChannelMediaRelayPermissionDenied 

媒体流转发权限不足。例如调用 startChannelMediaRelay 的房间成员为主播角色、或房间为双人通话房间,不支持转发媒体流。

kNERtcErrChannelMediaRelayStopFailed 

调用 stopChannelMediaRelay 前,未调用 startChannelMediaRelay。

kNERtcErrEncryptNotSuitable 

设置的媒体流加密密钥与房间中其他成员不一致,加入房间失败。请通过 enableEncryption 重新设置加密密钥。

kNERtcErrUserPermKeyAuthFailed 

用户权限验证错误。

kNERtcErrSEIExceedMaxDataLimit 

SEI 超过最大数据限制。

kNERtcErrDataChannelExceedMaxDataLimit 

数据通道发送大小超过最大限制。

kNERtcErrConnectionNotFound 

连接未找到。

kNERtcErrStreamNotFound 

媒体流未找到。

kNERtcErrAddTrackFail 

加入 track 失败。

kNERtcErrTrackNotFound 

track 未找到。

kNERtcErrMediaConnectionDisconnected 

媒体连接断开。

kNERtcErrSignalDisconnected 

信令连接断开。

kNERtcErrServerKicked 

被踢出房间。

kNERtcErrKickedForRoomClosed 

因房间已关闭而被踢出。

kNERtcErrChannelLeaveBySwitchAction 

因为切换房间的操作房间被关闭。

kNERtcErrChannelLeaveByDuplicateUidLogin 

房间被关闭因为有重复 uid 登录。

kNERtcErrOSAuthorize 

操作系统权限问题。

kNERtcErrPTTAuthorizeFailed 

PTT 权限验证失败。

kNERtcErrPTTAuthNetError 

PTT 权限验证网络错误。

kNERtcErrPTTAuthTimeOut 

PTT 权限超时。

kNERtcErrPTTRecordingAreadyStarted 

PTT 录音已经开始 。

kNERtcErrPTTRecordingOpenFileFailed 

PTT 录音打开文件失败。

kNERtcErrPTTRecordingDurationTooShort 

PTT 录音时长太短。

kNERtcErrPTTRecordingNotStarted 

PTT 录音未开始。

kNERtcErrPTTPlayOpenFileFailed 

PTT 播放打开文件失败。

kNERtcErrPTTPlayReadFileFailed 

PTT 播放读取文件失败,可能是播放器错误或解码失败。

kNERtcErrPTTPlayNotStarted 

PTT 播放未开始。

kNERtcErrPTTUploadOpenFileFailed 

PTT 上传打开文件失败。

kNERtcErrPTTUploadFileTooLarge 

PTT 上传文件大小超过限制。

kNERtcErrPTTUploadAuthFailed 

PTT 上传权限验证失败

kNERtcErrPTTUploadNetError 

PTT 上传网络错误 。

kNERtcErrPTTUploadDataError 

PTT 上传服务数据错误,可能是参数异常或者服务异常。

kNERtcErrPTTDownloadOpenFileFailed 

PTT 下载打开文件失败。

kNERtcErrPTTDownloadAuthFailed 

PTT 下载权限验证失败。

kNERtcErrPTTDownloadNetError 

PTT 下载网络错误。

kNERtcErrPTTDownloadNotFound 

PTT 下载文件不存在。

kNERtcErrPTTDownloadDataError 

PTT 下载服务数据错误,可能是参数异常或者服务异常。

kNERtcErrPTTDownloadAuditing 

PTT 下载文件正在审核中

kNERtcErrPTTDownloadAuditFailed 

PTT 下载文件审核失败

kNERtcErrPTTSTTAuthFailed 

PTT 语音转文字权限验证失败。

kNERtcErrPTTSTTNetError 

PTT 语音转文字网络错误 。

kNERtcErrPTTSTTTranslateFaild 

PTT 语音转文字转换服务失败。

kNERtcErrPTTSTTNotFound 

语音转文字文件不存在。

kNERtcErrPTTSTTDataError 

PTT 语音转文字服务数据错误,可能是参数异常或者服务异常。

kNERtcErrPTTSTTAuditing 

PTT 语音转文字服务,正在审核中

kNERtcErrPTTSTTAuditFailed 

PTT 语音转文字服务,审核失败

kNERtcRuntimeErrADMNoAuthorize 

没有音频设备权限。

kNERtcRuntimeErrADMInitRecordingFailed 

音频采集设备初始化失败。

kNERtcRuntimeErrADMStartRecordingFailed 

音频采集设备开始失败。

kNERtcRuntimeErrADMStopRecordingFailed 

音频采集设备停止失败。

kNERtcRuntimeErrADMInitPlayoutFailed 

音频播放设备初始化失败。

kNERtcRuntimeErrADMStartPlayoutFailed 

音频播放设备开始失败。

kNERtcRuntimeErrADMStopPlayoutFailed 

音频播放设备停止失败。

kNERtcRuntimeErrADMRecordingFailed 

音频采集设备运行异常。

kNERtcRuntimeErrADMPlayoutFailed 

音频播放设备运行异常。

kNERtcRuntimeErrADMRecording 

音频采集设备运行异常。

kNERtcRuntimeErrADMPlayout 

音频播放设备运行异常。

kNERtcRuntimeErrVDMNoAuthorize 

没有视频设备权限。

kNERtcRuntimeErrVDMNotScreenUseSubStream 

非屏幕共享使用辅流。

kNERtcRuntimeErrVDMCameraDisconnect 

摄像头断开。

kNERtcRuntimeErrVDMCameraFreezed 

摄像头死机。

kNERtcRuntimeErrVDMCameraUnknownError 

未知摄像头错误。

kNERtcRuntimeErrVDMCameraNoFrame 

摄像头无数据帧。请检查摄像头或者切换摄像头。

kNERtcRuntimeErrVDMCameraCreateFail 

摄像头启动失败。请检查摄像头是否存在或被占用。

kNERtcRuntimeErrScreenCaptureNoAuthorize 

没有录制视频权限。

◆ RtcAudioMixingErrorCode

混音音乐文件错误码。

枚举值
kNERtcAudioMixingErrorOK 

没有错误。

kNERtcAudioMixingErrorFatal 

通用错误。

kNERtcAudioMixingErrorCanNotOpen 

伴音不能正常打开。

kNERtcAudioMixingErrorDecode 

音频解码错误。

kNERtcAudioMixingErrorInterrupt 

操作中断码。

kNERtcAudioMixingErrorHttpNotFound 

404 file not found,only for http /

kNERtcAudioMixingErrorOpen 

打开流 / 文件失败。

kNERtcAudioMixingErrorNInfo 

获取解码信息失败 / 超时。

kNERtcAudioMixingErrorNStream 

无音频流。

kNERtcAudioMixingErrorNCodec 

无解码器。

kNERtcAudioMixingErrorNMem 

无内存。

kNERtcAudioMixingErrorCodecOpen 

解码器打开失败 / 超时。

kNERtcAudioMixingErrorInvalidInfo 

无效音频参数(声道、采样率)

kNERtcAudioMixingErrorOpenTimeout 

打开流 / 文件超时。

kNERtcAudioMixingErrorIoTimeout 

网络 io 超时。

kNERtcAudioMixingErrorIo 

网络 io 错误。

◆ RtcWarnCode

enum nertc.RtcWarnCode : int

警告代码。 警告代码意味着 SDK 遇到问题,但有可能恢复,警告代码仅起告知作用,一般情况下应用程序可以忽略警告代码。

枚举值
kLiteSDKNoWarning 

未发生警告。

kNERtcWarningChannelAbilityNotMatch 

当前客户端设备视频编解码能力与房间不匹配,例如设备不支持 VP8 等编码类型。在此房间中可能无法成功进行视频编解码,即本端可能无法正常显示某些远端的视频画面,同样远端也可能无法显示本端画面。

kNERtcWarningASLAudioFallback 

音频自动选路回退。

◆ RtcInterfaceIdType

接口 ID 类型。

枚举值
kNERtcIIDAudioDeviceManager 

获取音频设备管理器的接口 ID。

kNERtcIIDVideoDeviceManager 

获取视频设备管理器的接口 ID。

◆ RtcClientRole

enum nertc.RtcClientRole : int

参会者角色类型。

枚举值
kNERtcClientRoleBroadcaster 

(默认)直播模式中的主播,可以操作摄像头等音视频设备、发布流、配置互动直播推流任务、上下线对房间内其他用户可见。

kNERtcClientRoleAudience 

直播模式中的观众,观众只能接收音视频流,不支持操作音视频设备、配置互动直播推流任务、上下线不通知其他用户。

◆ RtcChannelProfileType

场景模式。

枚举值
kNERtcChannelProfileCommunication 

通话场景。

kNERtcChannelProfileLiveBroadcasting 

直播推流场景。

◆ RtcMediaPriorityType

媒体优先级类型。

枚举值
kNERtcMediaPriorityHigh 

高优先级。

kNERtcMediaPriorityNormal 

(默认)普通优先级。

◆ RtcLiveStreamLayoutMode

连麦方式。

枚举值
kNERtcLayoutFloatingRightVertical 

右侧垂直悬浮。

kNERtcLayoutFloatingLeftVertical 

左侧垂直悬浮。

kNERtcLayoutSplitScreen 

分屏模式。

kNERtcLayoutSplitScreenScaling 

分屏模式下伸缩。

kNERtcLayoutCustom 

自定义布局。

kNERtcLayoutAudioOnly 

只播放音频。

◆ RtcLiveStreamMode

直播推流模式。

枚举值
kNERtcLsModeVideo 

推流带视频。

kNERtcLsModeAudio 

推流纯音频。

◆ RtcLiveStreamVideoScaleMode

直播推流视频裁剪模式。

枚举值
kNERtcLsModeVideoScaleFit 

0: 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充背景色。

kNERtcLsModeVideoScaleCropFill 

1: 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。

◆ RtcLiveStreamAudioSampleRate

直播推流音频采样率。

枚举值
kNERtcLiveStreamAudioSampleRate32000 

采样率为 32 kHz。

kNERtcLiveStreamAudioSampleRate44100 

采样率为 44.1 kHz。

kNERtcLiveStreamAudioSampleRate48000 

(默认)采样率为 48 kHz。

◆ RtcLiveStreamAudioCodecProfile

直播推流音频编码规格。

枚举值
kNERtcLiveStreamAudioCodecProfileLCAAC 

(默认)LC-AAC 规格,表示基本音频编码规格。

kNERtcLiveStreamAudioCodecProfileHEAAC 

HE-AAC 规格,表示高效音频编码规格。

◆ RtcLiveStreamStateCode

直播推流状态。

枚举值
kNERtcLsStatePushing 

推流中。

kNERtcLsStatePushFail 

互动直播推流失败。

kNERtcLsStatePushStopped 

推流结束。

kNERtcLsStateImageError 

背景图片设置出错。

◆ RtcOsCategory

enum nertc.RtcOsCategory : int

系统分类。

枚举值
kNERtcOSiOS 

iOS 通用设备。

kNERtcOSAndroid 

Android 通用设备。

kNERtcOSPC 

PC device.

kNERtcOSWebRTC 

WebRTC

◆ RtcAudioProfileType

音频属性。设置采样率,码率,编码模式和声道数。

枚举值
kNERtcAudioProfileDefault 

0: 默认设置。Speech 场景下为 kNERtcAudioProfileStandardExtend,Music 场景下为 kNERtcAudioProfileHighQuality。

kNERtcAudioProfileStandard 

1: 普通质量的音频编码,16000Hz,20Kbps

kNERtcAudioProfileStandardExtend 

2: 普通质量的音频编码,16000Hz,32Kbps

kNERtcAudioProfileMiddleQuality 

3: 中等质量的音频编码,48000Hz,32Kbps

kNERtcAudioProfileMiddleQualityStereo 

4: 中等质量的立体声编码,48000Hz * 2,64Kbps

kNERtcAudioProfileHighQuality 

5: 高质量的音频编码,48000Hz,64Kbps

kNERtcAudioProfileHighQualityStereo 

6: 高质量的立体声编码,48000Hz * 2,128Kbps

◆ RtcAudioScenarioType

音频应用场景。不同的场景设置对应不同的音频采集模式、播放模式。

枚举值
kNERtcAudioScenarioDefault 

0: 默认设置。

  • kNERtcChannelProfileCommunication 下为 kNERtcAudioScenarioSpeech,
  • kNERtcChannelProfileLiveBroadcasting 下为 kNERtcAudioScenarioMusic。
kNERtcAudioScenarioSpeech 

1: 语音场景. NERtcAudioProfileType 推荐使用 kNERtcAudioProfileMiddleQuality 及以下。

kNERtcAudioScenarioMusic 

2: 音乐场景。NERtcAudioProfileType 推荐使用 kNERtcAudioProfileMiddleQualityStereo 及以上。

kNERtcAudioScenarioChatroom 

3: 语聊房场景 (只适用于移动端)。NERtcAudioProfileType 推荐使用 kNERtcAudioProfileHighQuality 及以上。

◆ RtcVoiceChangerType

变声 预设值。

枚举值
kNERtcVoiceChangerOff 

默认关闭。

kNERtcVoiceChangerRobot 

机器人。

kNERtcVoiceChangerGaint 

巨人。

kNERtcVoiceChangerHorror 

恐怖。

kNERtcVoiceChangerMature 

成熟。

kNERtcVoiceChangerManToWoman 

男变女。

kNERtcVoiceChangerWomanToMan 

女变男。

kNERtcVoiceChangerManToLoli 

男变萝莉。

kNERtcVoiceChangerWomanToLoli 

女变萝莉。

◆ RtcVoiceBeautifierType

预设的美声效果。

枚举值
kNERtcVoiceBeautifierOff 

默认关闭。

kNERtcVoiceBeautifierMuffled 

低沉。

kNERtcVoiceBeautifierMellow 

圆润。

kNERtcVoiceBeautifierClear 

清澈。

kNERtcVoiceBeautifierMagnetic 

磁性。

kNERtcVoiceBeautifierRecordingstudio 

录音棚。

kNERtcVoiceBeautifierNature 

天籁。

kNERtcVoiceBeautifierKTV 

KTV

kNERtcVoiceBeautifierRemote 

悠远。

kNERtcVoiceBeautifierChurch 

教堂。

kNERtcVoiceBeautifierBedroom 

卧室。

kNERtcVoiceBeautifierLive 

Live

◆ RtcVoiceEqualizationBand

音效均衡波段的中心频率。

枚举值
kNERtcVoiceEqualizationBand31 

31 Hz

kNERtcVoiceEqualizationBand62 

62 Hz

kNERtcVoiceEqualizationBand125 

125 Hz

kNERtcVoiceEqualizationBand250 

250 Hz

kNERtcVoiceEqualizationBand500 

500 Hz

kNERtcVoiceEqualizationBand1K 

1 kHz

kNERtcVoiceEqualizationBand2K 

2 kHz

kNERtcVoiceEqualizationBand4K 

4 kHz

kNERtcVoiceEqualizationBand8K 

8 kHz

kNERtcVoiceEqualizationBand16K 

16 kHz

◆ RtcVideoProfileType

视频编码配置。用于衡量编码质量。

注解
kNERtcVideoProfileFake:
  • 表示对端发送 16*16 的 fakeVideo,即纯音频下发送 SEI,属于 SDK 内部行为,此时收到的是黑色帧,不需要显示 view。
  • 因此这个档位不主动使用,属于被动接受,如果主动使用,SDK 内部会按 standard 处理。
枚举值
kNERtcVideoProfileLowest 

普清(160x90/120, 15fps)

kNERtcVideoProfileLow 

标清(320x180/240, 15fps)

kNERtcVideoProfileStandard 

高清(640x360/480, 30fps)

kNERtcVideoProfileHD720P 

超清(1280x720, 30fps)

kNERtcVideoProfileHD1080P 

1080P(1920x1080, 30fps)

kNERtcVideoProfileNone 

无效果。

kNERtcVideoProfileMAX 
kNERtcVideoProfileFake 

FakeVideo 标识,仅在回调中显示。请勿主动设置,否则 SDK 会按照 STANDARD 处理。
当远端在纯音频状态发送 SEI 时,本端将会收到远端的 onUserVideoStart 回调,其中 maxProfile 参数为 kNERtcVideoProfileFake , 表示对端发送 16*16 的 FakeVideo,此时如果本端需要接收远端的 SEI 信息,只需要订阅一下远端的视频即可,无须设置远端画布。

◆ RtcRemoteVideoStreamType

视频流类型。

注解
大流的分辨率及参数配置高,小流的分辨率及参数配置低。
枚举值
kNERtcRemoteVideoStreamTypeHigh 

默认大流。

kNERtcRemoteVideoStreamTypeLow 

小流。

kNERtcRemoteVideoStreamTypeNone 

不订阅。

◆ RtcAudioDeviceType

音频设备类型。

枚举值
kNERtcAudioDeviceUnknown 

未知音频设备。

kNERtcAudioDeviceRecord 

音频采集设备。

kNERtcAudioDevicePlayout 

音频播放设备。

◆ RtcAudioDeviceState

音频设备类型状态。

枚举值
kNERtcAudioDeviceActive 

音频设备已激活。

kNERtcAudioDeviceUnactive 

音频设备未激活。

◆ RtcAudioDeviceTransportType

音频设备连接类型。

枚举值
kNERtcAudioDeviceTransportTypeUnknown 

未知设备。

kNERtcAudioDeviceTransportTypeBluetooth 

蓝牙设备。

kNERtcAudioDeviceTransportTypeBluetoothA2DP 

蓝牙立体声设备。

kNERtcAudioDeviceTransportTypeBluetoothLE 

蓝牙低功耗设备。

kNERtcAudioDeviceTransportTypeUSB 

USB 设备。

kNERtcAudioDeviceTransportTypeHDMI 

HDMI 设备。

kNERtcAudioDeviceTransportTypeBuiltIn 

内置设备。

kNERtcAudioDeviceTransportTypeThunderbolt 

雷电接口设备。

kNERtcAudioDeviceTransportTypeAirPlay 

AirPlay 设备。

kNERtcAudioDeviceTransportTypeVirtual 

虚拟设备。

kNERtcAudioDeviceTransportTypeOther 

其他设备。

◆ RtcVideoDeviceTransportType

摄像头设备链接类型。

枚举值
kNERtcVideoDeviceTransportTypeUnknown 

未知设备。

kNERtcVideoDeviceTransportTypeUSB 

USB device.

kNERtcVideoDeviceTransportTypeVirtual 

虚拟设备。

kNERtcVideoDeviceTransportTypeOther 

其他设备。

◆ RtcVideoDeviceType

视频设备类型。

枚举值
kNERtcVideoDeviceUnknown 

Video capture device.

kNERtcVideoDeviceCapture 

视频采集设备。

◆ RtcVideoDeviceState

视频设备类型状态。

枚举值
kNERtcVideoDeviceAdded 

视频设备已添加。

kNERtcVideoDeviceRemoved 

视频设备已拔除。

◆ RtcVideoScalingMode

设置视频缩放模式。

枚举值
kNERtcVideoScaleFit 

0:适应视频,视频尺寸等比缩放。优先保证视频内容全部显示。若视频尺寸与显示视窗尺寸不一致,视窗未被填满的区域填充背景色。

kNERtcVideoScaleFullFill 

1:视频尺寸非等比缩放。保证视频内容全部显示,且填满视窗。

kNERtcVideoScaleCropFill 

2:适应区域,视频尺寸等比缩放。保证所有区域被填满,视频超出部分会被裁剪。

◆ RtcVideoMirrorMode

视频镜像模式。

枚举值
kNERtcVideoMirrorModeAuto 

0: Windows/macOS SDK 启用镜像模式。

kNERtcVideoMirrorModeEnabled 

1: 启用镜像模式。

kNERtcVideoMirrorModeDisabled 

2: (默认)关闭镜像模式。

◆ RtcVideoOrientationMode

视频旋转的方向模式。

枚举值
kNERtcVideoOutputOrientationModeAdaptative 

(默认)该模式下 SDK 输出的视频方向与采集到的视频方向一致。接收端会根据收到的视频旋转信息对视频进行旋转。
该模式适用于接收端可以调整视频方向的场景。

  • 如果采集的视频是横屏模式,则输出的视频也是横屏模式。
  • 如果采集的视频是竖屏模式,则输出的视频也是竖屏模式。
kNERtcVideoOutputOrientationModeFixedLandscape 

该模式下 SDK 固定输出横屏模式的视频。如果采集到的视频是竖屏模式,则视频编码器会对其进行裁剪。
该模式适用于接收端无法调整视频方向的场景,例如旁路推流。

kNERtcVideoOutputOrientationModeFixedPortrait 

该模式下 SDK 固定输出竖屏模式的视频,如果采集到的视频是横屏模式,则视频编码器会对其进行裁剪。
该模式适用于接收端无法调整视频方向的场景,例如旁路推流。

◆ RtcConnectionStateType

连接状态。

枚举值
kNERtcConnectionStateDisconnected 

未加入房间。

kNERtcConnectionStateConnecting 

正在加入房间。

kNERtcConnectionStateConnected 

加入房间成功。

kNERtcConnectionStateReconnecting 

正在尝试重新加入房间。

kNERtcConnectionStateFailed 

加入房间失败。

◆ RtcReasonConnectionChangedType

连接状态变更原因。

枚举值
kNERtcReasonConnectionChangedLeaveChannel 

离开房间。

kNERtcReasonConnectionChangedChannelClosed 

房间被关闭。

kNERtcReasonConnectionChangedBeKicked 

用户被踢。

kNERtcReasonConnectionChangedTimeOut 

服务超时。

kNERtcReasonConnectionChangedJoinChannel 

加入房间。

kNERtcReasonConnectionChangedJoinSucceed 

加入房间成功。

kNERtcReasonConnectionChangedReJoinSucceed 

重新加入房间成功(重连)

kNERtcReasonConnectionChangedMediaConnectionDisconnected 

媒体连接断开。

kNERtcReasonConnectionChangedSignalDisconnected 

信令连接断开。

kNERtcReasonConnectionChangedRequestChannelFailed 

请求房间失败。

kNERtcReasonConnectionChangedJoinChannelFailed 

加入房间失败。

kNERtcReasonConnectionChangedReDispatch 

重新分配了服务端 IP

kNERtcReasonConnectionChangedSettingProxyServer 

开始使用云代理进行连接。

◆ RtcAudioStreamType

音频流类型。

枚举值
kNERtcAudioStreamTypeMain 

主流。

kNERtcAudioStreamTypeSub 

辅流。

◆ RtcNetworkQualityType

网络质量类型。

枚举值
kNERtcNetworkQualityUnknown 

0: 网络质量未知。

kNERtcNetworkQualityExcellent 

1: 网络质量极好。

kNERtcNetworkQualityGood 

2: 用户主观感觉和 kNERtcNetworkQualityExcellent 类似,但码率可能略低于 kNERtcNetworkQualityExcellent

kNERtcNetworkQualityPoor 

3: 用户主观感受有瑕疵但不影响沟通。

kNERtcNetworkQualityBad 

4: 勉强能沟通但不顺畅。

kNERtcNetworkQualityVeryBad 

5: 网络质量非常差,基本不能沟通。

kNERtcNetworkQualityDown 

6: 完全无法沟通。

◆ RtcVideoCropMode

视频画面裁剪模式。

枚举值
kNERtcVideoCropModeDefault 

设备默认裁剪模式。

kNERtcVideoCropMode16x9 

16:9

kNERtcVideoCropMode4x3 

4:3

kNERtcVideoCropMode1x1 

1:1

◆ RtcVideoFramerateType

视频帧率。

枚举值
kNERtcVideoFramerateFpsDefault 

默认帧率。

kNERtcVideoFramerateFps7 

7 帧每秒。

kNERtcVideoFramerateFps10 

10 帧每秒。

kNERtcVideoFramerateFps15 

15 帧每秒。

kNERtcVideoFramerateFps24 

24 帧每秒。

kNERtcVideoFramerateFps30 

30 帧每秒。

kNERtcVideoFramerateFps60 

60 帧每秒。

◆ RtcDegradationPreference

视频编码策略。

枚举值
kNERtcDegradationDefault 
  • (默认)根据场景模式调整适应性偏好。
  • 通信场景中,选择 kNERtcDegradationBalanced 模式,在编码帧率和视频质量之间保持平衡。
  • 直播场景中,选择 kNERtcDegradationMaintainQuality 模式,降低编码帧率以保证视频质量。
kNERtcDegradationMaintainFramerate 

流畅优先,降低视频质量以保证编码帧率。在弱网环境下,降低视频清晰度以保证视频流畅,此时画质降低,画面会变得模糊,但可以保持视频流畅。

kNERtcDegradationMaintainQuality 

清晰优先,降低编码帧率以保证视频质量。在弱网环境下,降低视频帧率以保证视频清晰,此时可能会出现一定卡顿。

kNERtcDegradationBalanced 

在编码帧率和视频质量之间保持平衡。

◆ RtcScreenProfileType

视频帧数据回调。

参数
uid用户 ID。
frame视频帧。 屏幕共享编码参数配置。
枚举值
kNERtcScreenProfile480P 

640x480, 5fps

kNERtcScreenProfileHD720P 

1280x720, 5fps

kNERtcScreenProfileHD1080P 

1920x1080, 5fps。默认。

kNERtcScreenProfileCustom 

自定义。

kNERtcScreenProfileNone 

无效果。

kNERtcScreenProfileMAX 

1920x1080, 5fps。

◆ RtcScreenCaptureStatus

屏幕分享状态。

枚举值
kNERtcScreenCaptureStatusStart 

开始屏幕共享。

kNERtcScreenCaptureStatusPause 

暂停屏幕共享。

kNERtcScreenCaptureStatusResume 

恢复屏幕共享。

kNERtcScreenCaptureStatusStop 

停止屏幕共享。

kNERtcScreenCaptureStatusCovered 

屏幕分享的目标窗口被覆盖。

注解
在 Windows 平台中,某些窗口在被屏蔽之后,如果被置于图层最上层,此窗口图像可能会黑屏。此时会触发。 onScreenCaptureStatus.kScreenCaptureStatusCovered 回调,建议应用层在触发此回调时提醒用户将待分享的窗口置于最上层。

◆ RtcSubStreamContentPrefer

屏幕共享功能的编码策略倾向。

  • kNERtcSubStreamContentPreferMotion: 内容类型为动画。当共享的内容是视频、电影或游戏时,推荐选择该内容类型。当用户设置内容类型为动画时,按用户设置的帧率处理。
  • kNERtcSubStreamContentPreferDetails: 内容类型为细节。当共享的内容是图片或文字时,推荐选择该内容类型。当用户设置内容类型为细节时,最高允许用户设置到 10 帧,设置超过。 10 帧时,不生效,按 10 帧处理。
枚举值
kNERtcSubStreamContentPreferMotion 

动画模式。

kNERtcSubStreamContentPreferDetails 

细节模式。

◆ RtcRecordType

enum nertc.RtcRecordType : int

录制类型。

枚举值
kNERtcRecordTypeAll 

参与合流+单流录制。

kNERtcRecordTypeMix 

参与合流录制模式。

kNERtcRecordTypeSingle 

参与单流录制模式。

◆ RtcAudioType

enum nertc.RtcAudioType : int

音频类型。

枚举值
kNERtcAudioTypePCM16 

PCM 音频格式。

◆ RtcRawAudioFrameOpModeType

音频帧请求数据的读写模式。

枚举值
kNERtcRawAudioFrameOpModeReadOnly 

返回数据只读模式。

kNERtcRawAudioFrameOpModeReadWrite 

返回数据可读写。

◆ RtcAudioPayloadType

音频 payload 类型。

枚举值
kNERtcAudioPayloadTypeOPUS 

OPUS 音频格式。

◆ RtcVideoType

enum nertc.RtcVideoType : int

视频类型。

枚举值
kNERtcVideoTypeI420 

I420 视频格式。

kNERtcVideoTypeNV12 

NV12 视频格式。

kNERtcVideoTypeNV21 

NV21 视频格式。

kNERtcVideoTypeBGRA 

BGRA 视频格式。

kNERtcVideoTypeARGB 

BGRA 视频格式。

kNERtcVideoTypeCVPixelBuffer 

oc capture native 视频格式。不支持外部视频输入。

◆ RtcVideoRotation

视频旋转角度。

枚举值
kNERtcVideoRotation0 

kNERtcVideoRotation90 

90 度。

kNERtcVideoRotation180 

180 度。

kNERtcVideoRotation270 

270 度。

◆ RtcVideoCodecType

视频编解码器类型。

枚举值
kNERtcVideoCodecTypeH264 

H264 编解码器。

◆ RtcNalFrameType

视频编码帧类型。

枚举值
kNERtcNalFrameTypeIDR 

IDR 帧。

kNERtcNalFrameTypeI 

I 帧。

kNERtcNalFrameTypeP 

P 帧。

◆ RtcSessionLeaveReason

用户离开原因。

枚举值
kNERtcSessionLeaveNormal 

正常离开。

kNERtcSessionLeaveForFailOver 

用户断线导致离开。

kNERtcSessionLeaveUpdate 

用户 Failover 过程中产生的 leave。

kNERtcSessionLeaveForKick 

用户被踢导致离开。

kNERtcSessionLeaveTimeOut 

用户超时导致离开。

◆ RtcAudioMixingState

音乐文件播放状态。

枚举值
kNERtcAudioMixingStateFinished 

音乐文件播放结束。

kNERtcAudioMixingStateFailed 

音乐文件报错。参考:#RtcAudioMixingErrorCode。

◆ RtcVideoStreamType

视频流类型。

枚举值
kNERTCVideoStreamMain 

主流。

kNERTCVideoStreamSub 

辅流。

kNERTCVideoStreamCount 

预留参数,无需关注。

◆ RtcChannelMediaRelayState

媒体流转发状态。

枚举值
kNERtcChannelMediaRelayStateIdle 

初始状态。在成功调用 stopChannelMediaRelay 停止跨房间媒体流转发后, onMediaRelayStateChanged 会回调该状态。

kNERtcChannelMediaRelayStateConnecting 

SDK 尝试跨房间转发媒体流。

kNERtcChannelMediaRelayStateRunning 

源房间主播角色成功加入目标房间。

kNERtcChannelMediaRelayStateFailure 

发生异常,参考 onMediaRelayEvent 的 error 中提示的错误信息。

◆ RtcChannelMediaRelayEvent

媒体流转发回调事件。

枚举值
kNERtcChannelMediaRelayEventDisconnect 

媒体流转发停止。

kNERtcChannelMediaRelayEventConnecting 

SDK 正在连接服务器,开始尝试转发媒体流。

kNERtcChannelMediaRelayEventConnected 

连接服务器成功。

kNERtcChannelMediaRelayEventVideoSentToDestChannelSuccess 

视频音频媒体流成功转发到目标房间。

kNERtcChannelMediaRelayEventAudioSentToDestChannelSuccess 

音频媒体流成功转发到目标房间。

kNERtcChannelMediaRelayEventOtherStreamSentToDestChannelSuccess 

媒体流屏幕共享等其他流成功转发到目标房间。

kNERtcChannelMediaRelayEventFailure 

媒体流转发失败。原因包括:

◆ RtcLocalVideoWatermarkState

视频水印状态。

枚举值
kNERtcLocalWatermarkStateSetSuccess 

水印设置成功。

kNERtcLocalWatermarkStateDeviceNotSupported 

设备不支持。

kNERtcLocalWatermarkStateImgFormatNotSupported 

图片格式不支持。

kNERtcLocalWatermarkStateImgNumError 

图片数量设置错误。

kNERtcLocalWatermarkStateImgSizeError 

图片分辨率设置错误。

kNERtcLocalWatermarkStateFPSError 

播放帧率设置错误。

kNERtcLocalWatermarkStateFontError 

字体设置错误。

kNERtcLocalWatermarkStateWmAlphaError 

整体水印透明度设置错误。

kNERtcLocalWatermarkStateTextContentEmptyError 

文本内容为空。

kNERtcLocalWatermarkStateCancel 

取消水印。

◆ RtcWatermarkType

视频水印类型枚举。

枚举值
kNERtcWatermarkTypeImage 

图片水印。

kNERtcWatermarkTypeText 

文字水印。

kNERtcWatermarkTypeTimestamp 

时间戳水印。

◆ RtcLogLevel

enum nertc.RtcLogLevel : int

日志级别。

枚举值
kNERtcLogLevelFatal 

Fatal 级别日志信息。

kNERtcLogLevelError 

Error 级别日志信息。

kNERtcLogLevelWarning 

Warning 级别日志信息。默认级别。

kNERtcLogLevelInfo 

Info 级别日志信息。

kNERtcLogLevelDetailInfo 

Detail Info 级别日志信息。

kNERtcLogLevelVerbos 

Verbos 级别日志信息。

kNERtcLogLevelDebug 

Debug 级别日志信息。如果您想获取最完整的日志,可以将日志级别设为该等级。

kNERtcLogLevelOff 

不输出日志信息。

◆ RtcSendOnPubType

视频推流后发送策略。

枚举值
kNERtcSendOnPubNone 

不主动发送数据流,被订阅后发送。

kNERtcSendOnPubHigh 

主动发送大流。

kNERtcSendOnPubLow 

主动发送小流。

kNERtcSendOnPubAll 

主动发送大小流。

◆ RtcAudioRecordingQuality

录音音质。

枚举值
kNERtcAudioRecordingQualityLow 

低音质。

kNERtcAudioRecordingQualityMedium 

中音质。

kNERtcAudioRecordingQualityHigh 

高音质。

◆ RtcAudioRecordingPosition

录音方式。

枚举值
kNERtcAudioRecordingPositionMixedRecordingAndPlayback 

录制本地和所有远端用户混音后的音频(默认)

kNERtcAudioRecordingPositionRecording 

仅录制本地用户的音频。

kNERtcAudioRecordingPositionMixedPlayback 

仅录制所有远端用户的音频。

◆ RtcAudioRecordingCycleTime

录音缓存时长。

枚举值
kNERtcAudioRecordingCycleTime0 

音频录制缓存时间为 0,实时写文件(默认)

kNERtcAudioRecordingCycleTime10 

音频录制缓存时间为 10s,StopAudioRectording()后,将缓存都写到文件,文件数据时间跨度为:[0,10s]

kNERtcAudioRecordingCycleTime60 

音频录制缓存时间为 60s,StopAudioRectording()后,将缓存都写到文件,文件数据时间跨度为:[0,60s]

kNERtcAudioRecordingCycleTime360 

音频录制缓存时间为 360s,StopAudioRectording()后,将缓存都写到文件,文件数据时间跨度为:[0,360s]

kNERtcAudioRecordingCycleTime900 

音频录制缓存时间为 900s,StopAudioRectording()后,将缓存都写到文件,文件数据时间跨度为:[0,900s]

◆ RtcAudioRecordingCode

录音回调事件错误码。

枚举值
kNERtcAudioRecordErrorSuffix 

不支持的录音文件格式。

kNERtcAudioRecordOpenFileFailed 

无法创建录音文件,原因通常包括:

  • 应用没有磁盘写入权限。
  • 文件路径不存在。
kNERtcAudioRecordStart 

开始录制。

kNERtcAudioRecordError 

录制错误。原因通常为磁盘空间已满,无法写入。

kNERtcAudioRecordFinish 

完成录制。

◆ RtcStreamFallbackOption

上行、下行弱网时的回退选项。

枚举值
kNERtcStreamFallbackDisabled 

上行或下行网络较弱时,不对音视频流作回退处理,但不能保证音视频流的质量。

注解
该选项只对 setLocalPublishFallbackOption 方法有效,对 setRemoteSubscribeFallbackOption 方法无效。
kNERtcStreamFallbackVideoStreamLow 

在下行网络条件较差的情况下,SDK 将只接收视频小流,即低分辨率、低码率视频流。

注解
该选项只对 setRemoteSubscribeFallbackOption 方法有效,对 setLocalPublishFallbackOption 方法无效。
kNERtcStreamFallbackAudioOnly 
  • 上行网络较弱时,只发布音频流。
  • 下行网络较弱时,先尝试只接收视频小流,即低分辨率、低码率视频流。如果网络环境无法显示视频,则再回退到只接收音频流。

◆ RtcEncryptionMode

媒体流加密模式。

枚举值
kNERtcGMCryptoSM4ECB 

128 位 SM4 加密,ECB 模式。

◆ RtcLastmileProbeResultState

Last mile 质量探测结果的状态。

枚举值
kNERtcLastmileProbeResultComplete 

表示本次 last mile 质量探测的结果是完整的。

kNERtcLastmileProbeResultIncompleteNoBwe 

表示本次 last mile 质量探测未进行带宽预测,因此结果不完整。通常原因为测试资源暂时受限。

kNERtcLastmileProbeResultUnavailable 

未进行 last mile 质量探测。通常原因为网络连接中断。

◆ RtcTransportType

云代理类型。

枚举值
kNERtcTransportTypeNoneProxy 

0:关闭已设置的云代理。

kNERtcTransportTypeUDPProxy 

1: 开启 UDP 协议的云代理。

◆ RtcInstallCastAudioDriverResult

安装音频驱动插件结果(仅适用于 Mac 系统)

枚举值
kNERtcInstallCastAudioDriverSuccess 

安装音频驱动插件成功。

kNERtcInstallCastAudioDriverNotAuthorized 

安装音频驱动插件未授。

kNERtcInstallCastAudioDriverFailed 

安装音频驱动插件失败。

◆ RtcVirtualBackgroundSourcStateReason

虚拟背景未成功启用的原因或确认成功的信息。

自从
v4.6.0
枚举值
kNERtcVirtualBackgroundSourceStateReasonSuccess 

0: 虚拟背景开启成功。

kNERtcVirtualBackgroundSourceStateReasonImageNotExist 

1:自定义背景图片不存在。请检查 RtcVirtualBackgroundSourcesource 的值。

kNERtcVirtualBackgroundSourceStateReasonImageFormatNotSupported 

2:自定义背景图片的图片格式无效。请检查 VirtualBackgroundSource 中 source 的值。

kNERtcVirtualBackgroundSourceStateReasonColorFormatNotSupported 

3:自定义背景图片的颜色格式无效。请检查 RtcVirtualBackgroundSourcecolor 的值。

kNERtcVirtualBackgroundSourceStateReasonDeviceNotSupported 

4:该设备不支持使用虚拟背景。

◆ RtcVirtualBackgroundSourceType

自定义背景图片的类型。

自从
v4.6.0
枚举值
kNERtcBackgroundColor 

1:(默认)背景图像为纯色。

kNERtcBackgroundImage 

背景图像只支持 PNG 或 JPG 格式的文件。

◆ RtcAudioDumpType

音频 dump 类型。

自从
v4.6.0
枚举值
kNERtcAudioDumpTypePCM 

仅输出.dump 文件(默认)

自从
v4.6.0
kNERtcAudioDumpTypeAll 

输出.dump 和.wav 文件。

自从
v4.6.0
kNERtcAudioDumpTypeWAV 

仅输出.wav 文件。

自从
v4.6.0

◆ RtcRangeAudioMode

范围语音的语音模式,包括所有人模式(kNERtcRangeAudioModeDefault)和仅小队模式(kNERtcRangeAudioModeTeam)。

枚举值
kNERtcRangeAudioModeDefault 
自从
v5.4.101 所有人模式。其他玩家在一定范围内可以听到该玩家说话,如果范围内有其他玩家也选择了此模式,则它们可以进行互相通话。TeamID 相同的队友可以互相听到。
kNERtcRangeAudioModeTeam 
自从
v5.4.101 仅小队模式。仅 TeamID 相同的队友可以互相听到。

◆ RtcMediaPubType

自从
v4.6.10 媒体 pub 类型。
枚举值
kNERtcMediaPubTypeAudio 

音频 pub 类型。

◆ RtcBeautyEffectType

美颜类型。

枚举值
kNERtcBeautyWhiteTeeth 

美牙。强度默认值为 0.0。

kNERtcBeautyLightEye 

亮眼。强度默认值为 0.0。

kNERtcBeautyWhiten 

美白。强度默认值为 0.0。

kNERtcBeautySmooth 

磨皮。强度默认值为 0.0。

kNERtcBeautySmallNose 

小鼻。强度默认值为 0.0。

kNERtcBeautyEyeDis 

眼距调整。强度默认值为 0.5。

kNERtcBeautyEyeAngle 

眼角调整。强度默认值为 0.5。

kNERtcBeautyMouth 

嘴型调整。强度默认值为 0.5。

kNERtcBeautyBigEye 

大眼。强度默认值为 0.0。

kNERtcBeautySmallFace 

小脸。强度默认值为 0.0。

kNERtcBeautyJaw 

下巴调整。强度默认值为 0.0。

kNERtcBeautyThinFace 

瘦脸。强度默认值为 0.0。

kNERtcBeautyFaceRuddy 

红润。强度默认值为 0.0。

kNERtcBeautyLongNose 

长鼻。强度默认值为 0.5。

kNERtcBeautyRenZhong 

人中。强度默认值为 0.5。

kNERtcBeautyMouthAngle 

嘴角。强度默认值为 0.5。

kNERtcBeautyRoundEye 

圆眼。强度默认值为 0.0。

kNERtcBeautyOpenEyeAngle 

开眼角。强度默认值为 0.0。

kNERtcBeautyVFace 

V 脸。强度默认值为 0.0。

kNERtcBeautyThinUnderjaw 

瘦下颚。强度默认值为 0.0。

kNERtcBeautyNarrowFace 

窄脸。强度默认值为 0.0。

kNERtcBeautyCheekBone 

瘦颧骨。强度默认值为 0.0。

kNERtcBeautyFaceSharpen 

锐化。强度默认值为 0.0。

kNERtcBeautyMouthWider 

调整嘴巴宽度。强度默认值为 0.5。

kNERtcBeautyForeheadWrinkles 

祛抬头纹。强度默认值为 0.0。

kNERtcBeautyDarkCircles 

祛黑眼圈。强度默认值为 0.0。

kNERtcBeautySmileLines 

祛法令纹。强度默认值为 0.0。

kNERtcBeautyShortFace 

短脸。强度默认值为 0.0。

◆ RtcSpatializerRoomCapacity

空间音效房间大小。

枚举值
kNERtcSpatializerRoomCapacitySmall 

小房间。

kNERtcSpatializerRoomCapacityMedium 

中等大小房间。

kNERtcSpatializerRoomCapacityLarge 

大房间。

kNERtcSpatializerRoomCapacityHuge 

巨大房间。

kNERtcSpatializerRoomCapacityNone 

无房间效果。

◆ RtcSpatializerMaterialName

空间音效中房间材质名称。

枚举值
kNERtcSpatializerMaterialTransparent 

透明的。

kNERtcSpatializerMaterialAcousticCeilingTiles 

声学天花板,未开放。

kNERtcSpatializerMaterialBrickBare 

砖块,未开放。

kNERtcSpatializerMaterialBrickPainted 

涂漆的砖块,未开放。

kNERtcSpatializerMaterialConcreteBlockCoarse 

粗糙的混凝土块,未开放。

kNERtcSpatializerMaterialConcreteBlockPainted 

涂漆的混凝土块,未开放。

kNERtcSpatializerMaterialCurtainHeavy 

厚重的窗帘。

kNERtcSpatializerMaterialFiberGlassInsulation 

隔音的玻璃纤维,未开放。

kNERtcSpatializerMaterialGlassThin 

薄的的玻璃,未开放。

kNERtcSpatializerMaterialGlassThick 

茂密的草地,未开放。

kNERtcSpatializerMaterialGrass 

草地。

kNERtcSpatializerMaterialLinoleumOnConcrete 

铺装了油毡的混凝土,未开放。

kNERtcSpatializerMaterialMarble 

大理石。

kNERtcSpatializerMaterialMetal 

金属,未开放。

kNERtcSpatializerMaterialParquetOnConcrete 

镶嵌木板的混凝土,未开放。

kNERtcSpatializerMaterialPlasterRough 

石膏,未开放。

kNERtcSpatializerMaterialPlasterSmooth 

粗糙石膏,未开放。

kNERtcSpatializerMaterialPlywoodPanel 

光滑石膏,未开放。

kNERtcSpatializerMaterialPolishedConcreteOrTile 

木板,未开放。

kNERtcSpatializerMaterialSheetrock 

石膏灰胶纸板,未开放。

kNERtcSpatializerMaterialWaterOrIceSurface 

水面或者冰面,未开放。

kNERtcSpatializerMaterialWoodCeiling 

木头天花板,未开放。

kNERtcSpatializerMaterialWoodPanel 

木头枪板,未开放。

kNERtcSpatializerMaterialUniform 

均匀分布,未开放。

◆ RtcSpatializerRenderMode

空间音效渲染模式。

枚举值
kNERtcSpatializerRenderStereoPanning 

立体声 panning

kNERtcSpatializerRenderBinauralLowQuality 

低复杂度双耳渲染(Binaural)

kNERtcSpatializerRenderBinauralMediumQuality 

中复杂度双耳渲染(Binaural)

kNERtcSpatializerRenderBinauralHighQuality 

高复杂度双耳渲染(Binaural)

kNERtcSpatializerRenderRoomEffectsOnly 

仅房间音效。

◆ RtcDistanceRolloffModel

空间音效衰减模式。

枚举值
kNERtcDistanceRolloffLogarithmic 

指数模式。

kNERtcDistanceRolloffLinear 

线性模式。

kNERtcDistanceRolloffNone 

无衰减。

◆ RtcVoiceAuditStatus

语音送审状态。

枚举值
kNERtcVoiceAuditUnkonwn 

语音送审状态未知,可能是接口调用失败。

注解
一般是由于未获取到对应接口的服务器正确回调结果导致。
kNERtcVoiceAuditing 

语音送审中

注解
由于审核未完成,结果需要用户延后再次调用对应api刷新。
kNERtcVoiceAuditFinished 

语音审核完成。

kNERtcVoiceAuditServerError 

语音审核异常,服务器功能不支持或出现了其他未知错误。

注解
该状态下,对于一般情况可当做审核通过处理。
kNERtcVoiceAuditUnactivated 

语音审核未开通。

◆ RtcAudioDeviceError

音频设备错误码。

枚举值
kNERtcAudioDeviceNoError 

无错误

kNERtcAudioDeviceErrorInitRecording 

初始化录制发生错误。

kNERtcAudioDeviceErrorStartRecording 

开始录制时发生错误。

kNERtcAudioDeviceErrorStopRecording 

停止录制时发生错误。

kNERtcAudioDeviceErrorInitPlayout 

初始化播放时发生错误。

kNERtcAudioDeviceErrorStartPlayout 

开始播放时发生错误。

kNERtcAudioDeviceErrorStopplayout 

结束播放时发生错误。

kNERtcAudioDeviceErrorCaptureThreadStop 

采集线程停止。

kNERtcAudioDeviceErrorPlayoutThreadStop 

播放线程停止。

kNERtcAudioDeviceErrorCaptureSampleRate 

采集采样率异常。

kNERtcAudioDeviceErrorPlayoutSampleRate 

播放采样率异常。

kNERtcAudioDeviceErrorConfigSession 

AVAudioSession 设置异常

kNERtcAudioDeviceErrorCodeReporter 

其他异常上报。

◆ RtcVideoDeviceError

视频设备错误码。

枚举值
kNERtcVideoDeviceErrorNoFrame 

没有画框。

kNERtcVideoDeviceErrorNotAvailableInBackground 

无法进入后台。

kNERtcVideoDeviceErrorUsingByAnotherClient 

其他用户正在使用。

kNERtcVideoDeviceErrorNotAvailableWithMultipleForegroundApps 

设备中活跃的应用过多。

◆ RtcAudioOutputRouting

音频路由 仅 iOS 和 Android 有效。

枚举值
kNERtcAudioOutputRoutingDefault 

系统默认。

kNERtcAudioOutputRoutingHeadset 

耳机。

kNERtcAudioOutputRoutingEarpiece 

听筒。

kNERtcAudioOutputRoutingLoudspeaker 

扬声器。

kNERtcAudioOutputRoutingBluetooth 

蓝牙外设。

◆ RtcNetworkType

网络类型。

枚举值
kNERtcNetworkTypeUnknown 

网络类型未知。

kNERtcNetworkTypeEthernet 

以太网网络类型。

kNERtcNetworkTypeWifi 

Wi-Fi 网络类型。

kNERtcNetworkType2G 

2G 网络类型。

kNERtcNetworkType3G 

3G 网络类型。

kNERtcNetworkType4G 

4G 网络类型。

kNERtcNetworkType5G 

5G 网络类型。

kNERtcNetworkTypeWWAN 

WLAN 网络类型。

kNERtcNetworkTypeBluetooth 

蓝牙网络类型。

kNERtcNetworkTypeNone 

无网络类型。

◆ RtcAudioSessionOperationRestriction

音频会话控制权限(iOS only)。
SDK 对 Audio Session 的控制权限。

枚举值
kNERtcAudioSessionOperationRestrictionNone 

没有限制,SDK 可以完全控制 Audio Session 操作。

kNERtcAudioSessionOperationRestrictionAll 

限制 SDK 对 Audio Session 进行任何操作,SDK 将不能再对 Audio Session 进行任何配置。

kNERtcAudioSessionOperationRestrictionDeactivateSession 

离开房间时,SDK 会保持 Audio Session 处于活动状态。

◆ RtcAudioFocusMode

音频焦点模式(Android only)。

枚举值
kNERtcAudioFocusOff 

不请求音频焦点。

kNERtcAudioFocusGain 

长时间获得焦点。

kNERtcAudioFocusGainTransient 

短暂性获得焦点,用完应立即释放,比如 notification sounds。

kNERtcAudioFocusGainTransientMayDuck 

临时请求, 降低其他音频应用的声音,可混音播放。

kNERtcAudioFocusGainTransientExclisive 

短暂性获得焦点,录音或者语音识别。

◆ RtcCameraPosition

指定的摄像头位置。

枚举值
kNERtcCameraPositionBack 

前置摄像头。

kNERtcCameraPositionFront 

后置摄像头。

函数说明

◆ RtcTakeSnapshotCallback()

delegate void nertc.RtcTakeSnapshotCallback ( RtcErrorCode errorCode,
string image )

截图结果回调。

参数
errorCode错误码。详细信息请参考 RtcErrorCode
image截图图片。图片文件所在路径。

◆ OnError()

delegate void nertc.OnError ( int errorCode,
string msg )

发生错误回调。
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)错误。通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。

参数
errorCode错误码。详细信息请参考 RtcErrorCode
msg错误信息。

◆ OnWarning()

delegate void nertc.OnWarning ( int warnCode,
string msg )

发生警告回调。
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)警告。通常情况下,SDK 上报的警告信息 App 可以忽略,SDK 会自动恢复。

参数
warnCode警告码。详细信息请参考 RtcWarnCode
msg警告描述。

◆ OnAPICallExecuted()

delegate void nertc.OnAPICallExecuted ( string apiName,
RtcErrorCode errorCode,
string msg )

API 调用结束回调。
该回调方法表示 SDK 执行完了一个用户的 API 调用。

参数
apiNameAPI 名称。
errorCodeAPI 执行结果错误码。
msgAPI 执行结果描述。

◆ OnJoinChannel()

delegate void nertc.OnJoinChannel ( ulong cid,
ulong uid,
RtcErrorCode result,
ulong elapsed )

加入房间回调,表示客户端已经登入服务器。

参数
cid客户端加入的房间 ID。
uid用户 ID。如果在 IRtcEngine.JoinChannel 方法中指定了 uid,此处会返回指定的 ID。如果未指定 uid,此处将返回云信服务器自动分配的 ID。
result返回结果。
elapsedIRtcEngine.JoinChannel 开始到发生此事件过去的时间,单位为毫秒。

◆ OnReconnectingStart()

delegate void nertc.OnReconnectingStart ( ulong cid,
ulong uid )

触发重连。
有时候由于网络原因,客户端可能会和服务器失去连接,SDK 会进行自动重连,开始自动重连后触发此回调。

参数
cid房间 ID。
uid用户 ID。

◆ OnConnectionStateChange()

delegate void nertc.OnConnectionStateChange ( RtcConnectionStateType state,
RtcReasonConnectionChangedType reason )

网络连接状态已改变回调。
该回调在网络连接状态发生改变的时候触发,并告知用户当前的网络连接状态和引起网络状态改变的原因。

参数
state当前的网络连接状态。
reason引起当前网络连接状态发生改变的原因。

◆ OnNetworkTypeChanged()

delegate void nertc.OnNetworkTypeChanged ( RtcNetworkType newType)

网络类型已经改变的回调。
该回调在网络发生改变的时候触发,并告知用户当前的网络类型。

参数
newType当前的网络类型。

◆ OnRejoinChannel()

delegate void nertc.OnRejoinChannel ( ulong cid,
ulong uid,
RtcErrorCode result,
ulong elapsed )

重新加入房间回调。
在弱网环境下,若客户端和服务器失去连接,SDK 会自动重连。自动重连成功后触发此回调方法。

参数
cid客户端加入的房间 ID。
uid用户 ID。
result返回结果。
elapsed从开始重连到发生此事件过去的时间,单位为毫秒。

◆ OnLeaveChannel()

delegate void nertc.OnLeaveChannel ( RtcErrorCode result)

退出房间回调。
App 调用 IRtcChannel.LeaveChannel 方法后,SDK 提示 App 退出房间是否成功。

参数
result返回结果。

◆ OnDisconnect()

delegate void nertc.OnDisconnect ( RtcErrorCode reason)

网络连接中断。

注解
  • SDK 在调用 IRtcEngine.JoinChannel 加入房间成功后,如果和服务器失去连接且连续 3 次重连失败,就会触发该回调。
  • 由于非网络原因,客户端可能会和服务器失去连接,此时 SDK 无需自动重连,直接触发此回调方法。
参数
reason网络连接中断原因。

◆ OnClientRoleChanged()

delegate void nertc.OnClientRoleChanged ( RtcClientRole oldRole,
RtcClientRole newRole )

直播场景下用户角色已切换回调。
本地用户加入房间后,通过 IRtcEngine.SetClientRole 切换用户角色后会触发此回调。例如主播切换为观众、从观众切换为主播。

注解
直播场景下,如果您在加入房间后调用该方法切换用户角色,调用成功后,会触发以下回调:
参数
oldRole切换前的角色。
newRole切换后的角色。

◆ OnUserJoined()

delegate void nertc.OnUserJoined ( ulong uid,
string userName,
RtcUserJoinExtraInfo customInfo )

远端用户加入当前房间回调。
该回调提示有远端用户加入了房间,并返回新加入用户的。 ID。如果加入之前,已经有其他用户在房间中了,新加入的用户也会收到这些已有用户加入房间的回调。

参数
uid新加入房间的远端用户 ID。
userName新加入房间的远端用户名。
customInfo该远端用户加入的额外信息。

◆ OnUserLeft()

delegate void nertc.OnUserLeft ( ulong uid,
RtcSessionLeaveReason reason,
RtcUserJoinExtraInfo customInfo )

远端用户离开当前房间的回调。
提示有远端用户离开了房间(或掉线)。通常情况下,用户离开房间有两个原因,即正常离开和超时掉线:

  • 正常离开的时候,远端用户会收到正常离开房间的回调提醒,判断用户离开房间。
  • 超时掉线的依据是,在一定时间内(40~50s),用户没有收到对方的任何数据包,则判定为对方掉线。
    参数
    uid离开房间的远端用户 ID。
    reason远端用户离开原因。
    customInfo该远端用户离开的额外信息。

◆ OnUserAudioStart()

delegate void nertc.OnUserAudioStart ( RtcAudioStreamType type,
ulong uid )

远端用户开启音频的回调。

参数
type远端用户流类型。
uid远端用户 ID。

◆ OnUserAudioStop()

delegate void nertc.OnUserAudioStop ( RtcAudioStreamType type,
ulong uid )

远端用户停用音频的回调。

参数
type远端用户流类型。
uid远端用户 ID。

◆ OnUserVideoStart()

delegate void nertc.OnUserVideoStart ( RtcVideoStreamType type,
ulong uid,
RtcVideoProfileType maxProfile )

远端用户开启视频的回调。

参数
uid远端用户 ID。
type远端用户流类型。
maxProfile视频编码的分辨率,用于衡量编码质量。

◆ OnUserVideoStop()

delegate void nertc.OnUserVideoStop ( RtcVideoStreamType type,
ulong uid )

远端用户停用视频的回调。

参数
type远端用户流类型。
uid远端用户 ID。

◆ OnScreenCaptureStatusChanged()

delegate void nertc.OnScreenCaptureStatusChanged ( RtcScreenCaptureStatus status)

屏幕共享状态变化回调。
该方法仅适用于 Windows 平台。

自从
V4.2.0
参数
status屏幕共享状态。详细信息请参考 RtcScreenCaptureStatus

◆ OnUserVideoProfileUpdate()

delegate void nertc.OnUserVideoProfileUpdate ( ulong uid,
RtcVideoProfileType maxProfile )
参数
uid远端用户 ID。
maxProfile视频编码的分辨率,用于衡量编码质量。

◆ OnUserAudioMute()

delegate void nertc.OnUserAudioMute ( RtcAudioStreamType type,
ulong uid,
bool mute )

远端用户是否静音的回调。

参数
type音频流类型。
uid远端用户 ID。
mute是否静音。

◆ OnUserVideoMute()

delegate void nertc.OnUserVideoMute ( RtcVideoStreamType type,
ulong uid,
bool mute )

远端用户暂停或恢复发送视频流的回调。

参数
type视频流类型。
uid远端用户 ID。
mute是否禁视频流。

◆ OnAudioDeviceRoutingDidChange()

delegate void nertc.OnAudioDeviceRoutingDidChange ( RtcAudioOutputRouting routing)

音频路由变化回调。

参数
routing当前音频输出路由。

◆ OnAudioDeviceStateChanged()

delegate void nertc.OnAudioDeviceStateChanged ( string deviceId,
RtcAudioDeviceType deviceType,
RtcAudioDeviceState deviceState )

音频设备状态更改的回调。

参数
deviceId设备 ID。
deviceType音频设备类型。详细信息请参考 RtcAudioDeviceType
deviceState音频设备状态。

◆ OnAudioDefaultDeviceChanged()

delegate void nertc.OnAudioDefaultDeviceChanged ( string deviceId,
RtcAudioDeviceType deviceType )

音频默认设备更改的回调。

参数
deviceId设备 ID。
deviceType音频设备类型。

◆ OnVideoDeviceStateChanged()

delegate void nertc.OnVideoDeviceStateChanged ( string deviceId,
RtcVideoDeviceType deviceType,
RtcVideoDeviceState deviceState )

视频设备状态已改变的回调。

参数
deviceId设备 ID。
deviceType视频设备类型。
deviceState视频设备状态。

◆ OnCameraFocusChanged()

delegate void nertc.OnCameraFocusChanged ( RtcCameraFocusAndExposureInfo info)

摄像头对焦区域已改变回调。 该回调表示相机的对焦区域发生了改变。 该回调是由本地用户调用 IRtcEngine.SetCameraFocusPosition 方法改变对焦位置触发的。

注解
纯音频 SDK 禁用该接口,如需使用请前往云信官网下载并替换成视频 SDK。
参数
info新的对焦区域位置。

◆ OnCameraExposureChanged()

delegate void nertc.OnCameraExposureChanged ( RtcCameraFocusAndExposureInfo info)

摄像头曝光区域已改变回调。 该回调是由本地用户调用 IRtcEngine.SetCameraExposurePosition 方法改变曝光位置触发的。

注解
纯音频 SDK 禁用该接口,如需使用,请前往 网易云信官网,下载并替换成视频 SDK。
参数
info新的曝光区域位置信息。

◆ OnFirstAudioDataReceived()

delegate void nertc.OnFirstAudioDataReceived ( RtcAudioStreamType type,
ulong uid )

已接收到远端音频首帧的回调。

参数
type音频流类型。
uid远端用户 ID,指定是哪个用户的音频流。

◆ OnFirstVideoDataReceived()

delegate void nertc.OnFirstVideoDataReceived ( RtcVideoStreamType type,
ulong uid )

已显示首帧远端视频的回调。 第一帧远端视频显示在视图上时,触发此调用。

参数
type视频流类型。
uid用户 ID,指定是哪个用户的视频流。

◆ OnRemoteVideoReceiveSizeChanged()

delegate void nertc.OnRemoteVideoReceiveSizeChanged ( ulong uid,
RtcVideoStreamType type,
uint width,
uint height )

接收的远端视频分辨率变化回调。
当远端用户视频流的分辨率发生变化时,会触发此回调。 例如推流端调用 SetVideoConfig 更改了编码分辨率设置,本地会收到该远端用户分辨率变化通知。

参数
uid用户 ID,指定是哪个用户的视频流。
type视频通道类型:kNERTCVideoStreamMain:主流。kNERtcVideoStreamSub:辅流。
width视频流宽(px)。
height视频流高(px)。

◆ OnLocalVideoRenderSizeChanged()

delegate void nertc.OnLocalVideoRenderSizeChanged ( RtcVideoStreamType type,
uint width,
uint height )

本地视频预览的分辨率变化回调, 与是否进入房间的状态无关,与硬件状态有关,也适用于预览。
当本地视频的分辨率发生变化,会触发此回调。当调用 SetCaptureConfig 设置采集分辨率或调用 SetVideoConfig 设置编码属性时可以触发该回调。 回调的分辨率宽和高为本地预览的宽和高,和实际编码发送的分辨率不一定一致。

参数
type视频通道类型:kNERTCVideoStreamMain:主流。kNERtcVideoStreamSub:辅流。
width视频流宽(px)。
height视频流高(px)。

◆ OnFirstAudioFrameDecoded()

delegate void nertc.OnFirstAudioFrameDecoded ( RtcAudioStreamType type,
ulong uid )

已解码远端音频首帧的回调。

参数
type音频流类型。
uid远端用户 ID,指定是哪个用户的音频流。

◆ OnFirstVideoFrameDecoded()

delegate void nertc.OnFirstVideoFrameDecoded ( RtcVideoStreamType type,
ulong uid,
uint width,
uint height )

已接收到远端视频并完成解码的回调。
引擎收到第一帧远端视频流并解码成功时,触发此调用。

参数
type视频流类型。
uid用户 ID,指定是哪个用户的视频流。
width视频流宽(px)。
height视频流高(px)。

◆ OnCaptureVideoFrame()

delegate void nertc.OnCaptureVideoFrame ( IntPtr data,
RtcVideoType type,
uint width,
uint height,
uint count,
uint[] offset,
uint[] stride,
RtcVideoRotation rotation )

采集视频数据回调。

参数
data采集视频数据。
type视频类型。
width视频宽度。
height视频高度。
count视频 Plane Count。
offset视频 offset。
stride视频 stride。
rotation视频旋转角度。

◆ OnAudioMixingStateChanged()

delegate void nertc.OnAudioMixingStateChanged ( RtcAudioMixingState state,
RtcAudioMixingErrorCode errorCode )

本地用户的音乐文件播放状态改变回调。
调用 startAudioMixing 播放混音音乐文件后,当音乐文件的播放状态发生改变时,会触发该回调。

◆ OnAudioMixingTimestampUpdate()

delegate void nertc.OnAudioMixingTimestampUpdate ( ulong timestampMS)

本地用户的音乐文件播放进度回调。
调用 IRtcEngine.StartAudioMixing 播放混音音乐文件后,当音乐文件的播放进度改变时,会触发该回调。

参数
timestampMS音乐文件播放进度,单位为毫秒。

◆ OnAudioEffectTimestampUpdate()

delegate void nertc.OnAudioEffectTimestampUpdate ( uint effectId,
ulong timestamp )

本地用户的指定音效文件播放进度回调。

  • 调用 PlayEffect 播放音效文件后,SDK 会触发该回调,默认每 1s 返回一次。
    自从
    V4.6.29
    使用前提
    请在 IRtcEngine 类中设置回调监听。
    参数说明
    参数名称 类型 说明
    effectId uint 指定音效文件的 ID。每个音效均有唯一的 ID。
    timestamp ulong 指定音效文件的当前播放进度。单位为毫秒。

◆ OnAudioEffectFinished()

delegate void nertc.OnAudioEffectFinished ( uint effectId)

本地音效文件播放已结束回调。
当播放音效结束后,会触发该回调。

参数
effectId指定音效的 ID。每个音效均有唯一的 ID。

◆ OnLocalAudioVolumeIndication()

delegate void nertc.OnLocalAudioVolumeIndication ( int volume,
bool enableVad )

提示房间内本地用户瞬时音量的回调。

◆ OnRemoteAudioVolumeIndication()

delegate void nertc.OnRemoteAudioVolumeIndication ( RtcAudioVolumeInfo[] speakers,
int totalVolume )

提示房间内谁正在说话及说话者瞬时音量的回调。
该回调默认为关闭状态。可以通过 IRtcEngine.EnableAudioVolumeIndication 方法开启。开启后,无论房间内是否有人说话,SDK 都会按。 IRtcEngine.EnableAudioVolumeIndication 方法中设置的时间间隔触发该回调。
在返回的 speakers 数组中:

  • 如果有 uid 出现在上次返回的数组中,但不在本次返回的数组中,则默认该 uid 对应的远端用户没有说话。
  • 如果 volume 为 0,表示该用户没有说话。
    • 如果 speakers 数组为空,则表示此时远端没有人说话。
      参数
      speakers每个说话者的用户 ID 和音量信息的数组:RtcAudioVolumeInfo
      totalVolume(混音后的)总音量,取值范围为 [0,100]。

◆ OnAddLiveStreamTask()

delegate void nertc.OnAddLiveStreamTask ( string taskId,
string url,
int errorCode )

通知添加直播任务结果。
该回调异步返回 IRtcEngine.AddLiveStreamTask 接口的调用结果。实际推流状态参考 OnLiveStreamStateChanged

参数
taskId任务 ID。
url推流地址。
errorCode结果。
  • 0: 调用成功。
  • 其他:调用失败。

◆ OnUpdateLiveStreamTask()

delegate void nertc.OnUpdateLiveStreamTask ( string taskId,
string url,
int errorCode )

通知更新直播任务结果。 该回调异步返回 IRtcEngine.UpdateLiveStreamTask 接口的调用结果。实际推流状态参考。 OnLiveStreamStateChanged

参数
taskId任务 ID。
url推流地址。
errorCode结果。
  • 0: 调用成功。
  • 其他:调用失败。

◆ OnRemoveLiveStreamTask()

delegate void nertc.OnRemoveLiveStreamTask ( string taskId,
int errorCode )

通知删除直播任务结果。
该回调异步返回 IRtcEngine.RemoveLiveStreamTask 接口的调用结果。实际推流状态参考 OnLiveStreamStateChanged

参数
taskId任务 ID。
errorCode结果。
  • 0: 调用成功。
  • 其他:调用失败。

◆ OnLiveStreamStateChanged()

delegate void nertc.OnLiveStreamStateChanged ( string taskId,
string url,
RtcLiveStreamStateCode state )

通知直播推流状态。

注解
该回调在通话中有效。
参数
taskId任务 ID。
url推流地址。
stateRtcLiveStreamStateCode, 直播推流状态。
  • 505: 推流中。
  • 506: 推流失败。
  • 511: 推流结束。

◆ OnAudioHowling()

delegate void nertc.OnAudioHowling ( bool howling)

检测到啸叫回调。
当声源与扩音设备之间因距离过近时,可能会产生啸叫。NERTC SDK 支持啸叫检测,当检测到有啸叫信号产生的时候,自动触发该回调直至啸叫停止。App 应用层可以在收到啸叫回调时,提示用户静音麦克风,或直接静音麦克风。

注解
啸叫检测功能一般用于语音聊天室或在线会议等纯人声环境,不推荐在包含背景音乐的娱乐场景中使用。
参数
howling是否出现啸叫。
  • true: 啸叫。
  • false: 正常。

◆ OnRecvSEIMessage()

delegate void nertc.OnRecvSEIMessage ( ulong uid,
byte[] data,
uint dataSize )

收到远端流的 SEI 内容回调。
当远端成功发送 SEI 后,本端会收到此回调。

参数
[in]uid发送该 SEI 的用户 ID。
[in]data接收到的 SEI 数据。
[in]dataSize接收到 SEI 数据的大小。

◆ OnAudioRecording()

delegate void nertc.OnAudioRecording ( RtcAudioRecordingCode code,
string filePath )

音频录制状态回调。

参数
code音频录制状态码。详细信息请参考 RtcAudioRecordingCode
filePath音频录制文件保存路径。

◆ OnMediaRelayStateChanged()

delegate void nertc.OnMediaRelayStateChanged ( RtcChannelMediaRelayState state,
string channelName )

跨房间媒体流转发状态发生改变回调。

自从
V4.3.0
参数
state当前跨房间媒体流转发状态。详细信息请参考 RtcChannelMediaRelayState
channelName媒体流转发的目标房间名。

◆ OnMediaRelayEvent()

delegate void nertc.OnMediaRelayEvent ( RtcChannelMediaRelayEvent evt,
string channelName,
RtcErrorCode error )

媒体流相关转发事件回调。

自从
V4.3.0
参数
evt当前媒体流转发事件。详细信息请参考 RtcChannelMediaRelayEvent
channelName转发的目标房间名。
error相关错误码。详细信息请参考 RtcErrorCode

◆ OnPublishFallbackToAudioOnly()

delegate void nertc.OnPublishFallbackToAudioOnly ( bool isFallback,
RtcVideoStreamType streamType )

本地发布流已回退为音频流、或已恢复为音视频流回调。
如果您调用了设置本地推流回退选项 IRtcEngine.SetLocalPublishFallbackOption 接口,并将 option 设置为 kNERtcStreamFallbackAudioOnly 后,当上行网络环境不理想、本地发布的媒体流回退为音频流时,或当上行网络改善、媒体流恢复为音视频流时,会触发该回调。

自从
V4.3.0
参数
isFallback本地发布流已回退或已恢复。
  • true: 由于网络环境不理想,发布的媒体流已回退为音频流。
  • false:由于网络环境改善,从音频流恢复为音视频流。
streamType对应的视频流类型,即主流或辅流。

◆ OnSubscribeFallbackToAudioOnly()

delegate void nertc.OnSubscribeFallbackToAudioOnly ( ulong uid,
bool isFallback,
RtcVideoStreamType streamType )

订阅的远端流已回退为音频流、或已恢复为音视频流回调。
如果您调用了设置远端订阅流回退选项 IRtcEngine.SetRemoteSubscribeFallbackOption 接口并将 option 设置 kNERtcStreamFallbackAudioOnly 后,当下行网络环境不理想、仅接收远端音频流时,或当下行网络改善、恢复订阅音视频流时,会触发该回调。

自从
V4.3.0
参数
uid远端用户的 ID。
isFallback远端订阅流已回退或恢复:
  • true: 由于网络环境不理想,订阅的远端流已回退为音频流。
  • false:由于网络环境改善,订阅的远端流从音频流恢复为音视频流。
streamType对应的视频流类型,即主流或辅流。

◆ OnLastmileQuality()

delegate void nertc.OnLastmileQuality ( RtcNetworkQualityType quality)

通话前网络上下行 last mile 质量状态回调。
该回调描述本地用户在加入房间前的 last mile 网络探测的结果,以打分形式描述上下行网络质量的主观体验,您可以通过该回调预估本地用户在音视频通话中的网络体验。
在调用。 IRtcEngine.StartLastmileProbeTest 之后,SDK 会在约 5 秒内返回该回调。

自从
V4.5.0
参数
quality网络上下行质量,基于上下行网络的丢包率和抖动计算,探测结果主要反映上行网络的状态。

◆ OnLastmileProbeResult()

delegate void nertc.OnLastmileProbeResult ( RtcLastmileProbeResult result)

通话前网络上下行 Last mile 质量探测报告回调。
该回调描述本地用户在加入房间前的 last mile 网络探测详细报告,报告中通过客观数据反馈上下行网络质量,包括网络抖动、丢包率等数据。您可以通过该回调客观预测本地用户在音视频通话中的网络状态。
在调用 IRtcEngine.StartLastmileProbeTest 之后,SDK 会在约 30 秒内返回该回调。

自从
V4.5.0
参数
result上下行 Last mile 质量探测结果。

◆ OnMediaRightChanged()

delegate void nertc.OnMediaRightChanged ( bool audioBanned,
bool videoBanned )

服务端禁言音视频权限变化回调。

自从
v4.6.0
参数
audioBanned是否禁用音频。
  • true:禁用音频。
  • false:取消禁用音频。
videoBanned是否禁用视频。
  • true:禁用视频。
  • false:取消禁用视频。

◆ OnCheckNECastAudioDriverResult()

delegate void nertc.OnCheckNECastAudioDriverResult ( RtcInstallCastAudioDriverResult result)

收到检测安装声卡的内容回调(仅适用于 Mac 系统)。
在 Mac 系统上,您可以通过调用 IRtcEngine.CheckNECastAudioDriver 为当前系统安装一个音频驱动,并让 SDK 通过该音频驱动捕获当前 Mac 系统播放出的声音。

参数
result安装虚拟声卡的结果。详细信息请参考 RtcInstallCastAudioDriverResult

◆ OnVirtualBackgroundSourceEnabled()

delegate void nertc.OnVirtualBackgroundSourceEnabled ( bool enabled,
RtcVirtualBackgroundSourcStateReason reason )

通知虚拟背景功能是否成功启用的回调。
调用 EnableVirtualBackground 方法后,SDK 返回此回调通知虚拟背景功能是否成功启用。

自从
V4.6.0
注解
如果您设置虚拟背景为 PNG 或 JPG 格式的自定义图像,此回调会等到图像被完全读取后才会返回,因此会有一段时间的延迟。
参数
enabled是否成功启用虚拟背景。
  • true:成功启用。
  • false:未成功启用。
reason虚拟背景功能未成功启用的原因或成功启用虚拟背景功能的通知。详细信息请参考 RtcVirtualBackgroundSourcStateReason

◆ OnLocalVideoWatermarkState()

delegate void nertc.OnLocalVideoWatermarkState ( RtcVideoStreamType type,
RtcLocalVideoWatermarkState state )

本地视频水印生效结果回调。
调用 SetLocalVideoWatermarkConfigs 接口启用本地视频水印后,SDK 会触发此回调。

自从
V4.6.10
参数
type对应的视频流类型,即主流或辅流。详细信息请参考 RtcVideoStreamType
state水印状态。详细信息请参考 RtcLocalVideoWatermarkState

◆ OnPermissionKeyWillExpire()

delegate void nertc.OnPermissionKeyWillExpire ( )

权限密钥即将过期事件回调。

  • 由于 PermissionKey 具有一定的时效,在通话过程中如果 PermissionKey 即将失效,SDK 会提前 30 秒触发该回调,提醒用户更新 PermissionKey。
    自从
    V4.6.29
    使用前提
    请在 IRtcEngine 接口类中设置回调监听。
    相关接口
    在收到此回调后可以调用 UpdatePermissionKey 方法更新权限密钥。

◆ OnUpdatePermissionKey()

delegate void nertc.OnUpdatePermissionKey ( string key,
RtcErrorCode error,
int timeout )

更新权限密钥事件回调。

  • 调用 UpdatePermissionKey 方法主动更新权限密钥后,SDK 会触发该回调,返回权限密钥更新的结果。
    自从
    V4.6.29
    使用前提
    请在 IRtcEngine 接口类中设置回调监听。
    参数说明
    参数名称 类型 说明
    key string 新的权限密钥。
    error RtcErrorCode 错误码。
    • kNERtcErrChannelPermissionKeyError:权限密钥错误。
    • kNERtcErrChannelPermissionKeyTimeout:权限密钥超时。
    timeout int 更新后的权限密钥剩余有效时间。单位为秒。

◆ OnUserDataReceiveMessage()

delegate void nertc.OnUserDataReceiveMessage ( ulong uid,
string sourceId,
byte[] data )

远端用户通过数据通道发送数据的回调。

参数
uid远端用户 ID。
sourceId远端 source ID。
data数据。

◆ OnUserDataStart()

delegate void nertc.OnUserDataStart ( ulong uid)

远端用户开启数据通道的回调。

参数
uid远端用户 ID。
自从
V5.0.0

◆ OnUserDataStop()

delegate void nertc.OnUserDataStop ( ulong uid)

远端用户停用数据通道的回调。

参数
uid远端用户 ID。

◆ OnUserDataStateChanged()

delegate void nertc.OnUserDataStateChanged ( ulong uid,
string sourceId )

远端用户数据通道状态变更回调。

参数
uid远端用户 ID。
sourceId远端用户 source ID。

◆ OnUserDataBufferedAmountChanged()

delegate void nertc.OnUserDataBufferedAmountChanged ( ulong uid,
string sourceId,
ulong previousAmount )

远端用户数据通道 buffer 变更回调。

参数
uid远端用户 ID。
sourceId远端用户 source ID。
previousAmount变更前大小。

◆ ChannelOnError()

delegate void nertc.ChannelOnError ( IRtcChannel channel,
int errorCode,
string msg )

发生错误回调。
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)错误。通常情况下,SDK 上报的错误意味着 SDK 无法自动恢复,需要 App 干预或提示用户。

参数
channel当前 IRtcChannel 对象。
errorCode错误码。详细信息请参考 RtcErrorCode
msg错误信息。

◆ ChannelOnWarning()

delegate void nertc.ChannelOnWarning ( IRtcChannel channel,
int warnCode,
string msg )

发生警告回调。
该回调方法表示 SDK 运行时出现了(网络或媒体相关的)警告。通常情况下,SDK 上报的警告信息 App 可以忽略,SDK 会自动恢复。

参数
channel当前 IRtcChannel 对象。
warnCode警告码。详细信息请参考 RtcWarnCode
msg警告描述。

◆ ChannelOnAPICallExecuted()

delegate void nertc.ChannelOnAPICallExecuted ( IRtcChannel channel,
string apiName,
RtcErrorCode errorCode,
string msg )

API 调用结束回调。
该回调方法表示 SDK 执行完了一个用户的 API 调用。

参数
channel当前 IRtcChannel 对象。
apiNameAPI 名称。
errorCodeAPI 执行结果错误码。
msgAPI 执行结果描述。

◆ ChannelOnJoinChannel()

delegate void nertc.ChannelOnJoinChannel ( IRtcChannel channel,
ulong cid,
ulong uid,
RtcErrorCode result,
ulong elapsed )

加入房间回调,表示客户端已经登入服务器。

参数
channel当前 IRtcChannel 对象。
cid客户端加入的房间 ID。
uid用户 ID。如果在 IRtcChannel.JoinChannel 方法中指定了 uid,此处会返回指定的 ID。如果未指定 uid,此处将返回云信服务器自动分配的 ID。
result返回结果。
elapsedIRtcChannel.JoinChannel 开始到发生此事件过去的时间,单位为毫秒。

◆ ChannelOnReconnectingStart()

delegate void nertc.ChannelOnReconnectingStart ( IRtcChannel channel,
ulong cid,
ulong uid )

触发重连。
有时候由于网络原因,客户端可能会和服务器失去连接,SDK 会进行自动重连,开始自动重连后触发此回调。

参数
channel当前 IRtcChannel 对象。
cid房间 ID。
uid用户 ID。

◆ ChannelOnConnectionStateChange()

delegate void nertc.ChannelOnConnectionStateChange ( IRtcChannel channel,
RtcConnectionStateType state,
RtcReasonConnectionChangedType reason )

网络连接状态已改变回调。
该回调在网络连接状态发生改变的时候触发,并告知用户当前的网络连接状态和引起网络状态改变的原因。

参数
channel当前 IRtcChannel 对象。
state当前的网络连接状态。
reason引起当前网络连接状态发生改变的原因。

◆ ChannelOnRejoinChannel()

delegate void nertc.ChannelOnRejoinChannel ( IRtcChannel channel,
ulong cid,
ulong uid,
RtcErrorCode result,
ulong elapsed )

重新加入房间回调。
在弱网环境下,若客户端和服务器失去连接,SDK 会自动重连。自动重连成功后触发此回调方法。

参数
channel当前 IRtcChannel 对象。
cid客户端加入的房间 ID。
uid用户 ID。
result返回结果。
elapsed从开始重连到发生此事件过去的时间,单位为毫秒。

◆ ChannelOnLeaveChannel()

delegate void nertc.ChannelOnLeaveChannel ( IRtcChannel channel,
RtcErrorCode result )

退出房间回调。
App 调用 IRtcChannel.LeaveChannel 方法后,SDK 提示 App 退出房间是否成功。

参数
channel当前 IRtcChannel 对象。
result返回结果。

◆ ChannelOnDisconnect()

delegate void nertc.ChannelOnDisconnect ( IRtcChannel channel,
RtcErrorCode reason )

网络连接中断。

注解
  • SDK 在调用 IRtcChannel.JoinChannel 加入房间成功后,如果和服务器失去连接且连续 3 次重连失败,就会触发该回调。
  • 由于非网络原因,客户端可能会和服务器失去连接,此时 SDK 无需自动重连,直接触发此回调方法。
参数
channel当前 IRtcChannel 对象。
reason网络连接中断原因。

◆ ChannelOnClientRoleChanged()

delegate void nertc.ChannelOnClientRoleChanged ( IRtcChannel channel,
RtcClientRole oldRole,
RtcClientRole newRole )

直播场景下用户角色已切换回调。
本地用户加入房间后,通过 IRtcChannel.SetClientRole 切换用户角色后会触发此回调。例如主播切换为观众、从观众切换为主播。

注解
直播场景下,如果您在加入房间后调用该方法切换用户角色,调用成功后,会触发以下回调:
参数
channel当前 IRtcChannel 对象。
oldRole切换前的角色。
newRole切换后的角色。

◆ ChannelOnUserJoined()

delegate void nertc.ChannelOnUserJoined ( IRtcChannel channel,
ulong uid,
string userName,
RtcUserJoinExtraInfo customInfo )

远端用户加入当前房间回调。
该回调提示有远端用户加入了房间,并返回新加入用户的。 ID。如果加入之前,已经有其他用户在房间中了,新加入的用户也会收到这些已有用户加入房间的回调。

参数
channel当前 IRtcChannel 对象。
uid新加入房间的远端用户 ID。
userName新加入房间的远端用户名。
customInfo该远端用户加入的额外信息。

◆ ChannelOnUserLeft()

delegate void nertc.ChannelOnUserLeft ( IRtcChannel channel,
ulong uid,
RtcSessionLeaveReason reason,
RtcUserJoinExtraInfo customInfo )

远端用户离开当前房间的回调。
提示有远端用户离开了房间(或掉线)。通常情况下,用户离开房间有两个原因,即正常离开和超时掉线:

  • 正常离开的时候,远端用户会收到正常离开房间的回调提醒,判断用户离开房间。
  • 超时掉线的依据是,在一定时间内(40~50s),用户没有收到对方的任何数据包,则判定为对方掉线。
    参数
    channel当前 IRtcChannel 对象。
    uid离开房间的远端用户 ID。
    reason远端用户离开原因。
    customInfo该远端用户加入的额外信息。

◆ ChannelOnUserAudioStart()

delegate void nertc.ChannelOnUserAudioStart ( IRtcChannel channel,
RtcAudioStreamType type,
ulong uid )

远端用户开启音频的回调。

参数
channel当前 IRtcChannel 对象。
type远端用户流类型。
uid远端用户 ID。

◆ ChannelOnUserAudioStop()

delegate void nertc.ChannelOnUserAudioStop ( IRtcChannel channel,
RtcAudioStreamType type,
ulong uid )

远端用户停用音频的回调。

参数
channel当前 IRtcChannel 对象。
type远端用户流类型。
uid远端用户 ID。

◆ ChannelOnUserAudioMute()

delegate void nertc.ChannelOnUserAudioMute ( IRtcChannel channel,
RtcAudioStreamType type,
ulong uid,
bool mute )

远端用户是否静音的回调。

参数
channel当前 IRtcChannel 对象。
type远端用户流类型。
uid远端用户 ID。
mute是否静音。

◆ ChannelOnUserVideoStart()

delegate void nertc.ChannelOnUserVideoStart ( IRtcChannel channel,
RtcVideoStreamType type,
ulong uid,
RtcVideoProfileType maxProfile )

远端用户开启视频的回调。

参数
channel当前 IRtcChannel 对象。
type远端用户流类型。
uid远端用户 ID。
maxProfile视频编码的分辨率,用于衡量编码质量。

◆ ChannelOnUserVideoStop()

delegate void nertc.ChannelOnUserVideoStop ( IRtcChannel channel,
RtcVideoStreamType type,
ulong uid )

远端用户停用视频的回调。

参数
channel当前 IRtcChannel 对象。
type远端用户流类型。
uid远端用户 ID。

◆ ChannelOnUserVideoMute()

delegate void nertc.ChannelOnUserVideoMute ( IRtcChannel channel,
RtcVideoStreamType type,
ulong uid,
bool mute )

远端用户暂停或恢复发送视频流的回调。

参数
channel当前 IRtcChannel 对象。
type远端用户流类型。
uid远端用户 ID。
mute是否禁视频流。

◆ ChannelOnScreenCaptureStatusChanged()

delegate void nertc.ChannelOnScreenCaptureStatusChanged ( IRtcChannel channel,
RtcScreenCaptureStatus status )

屏幕共享状态变化回调。
该方法仅适用于 Windows 平台。

参数
channel当前 IRtcChannel 对象。
status当前的屏幕共享状态。
自从
V4.5.0

◆ ChannelOnUserVideoProfileUpdate()

delegate void nertc.ChannelOnUserVideoProfileUpdate ( IRtcChannel channel,
ulong uid,
RtcVideoProfileType maxProfile )
参数
channel当前 IRtcChannel 对象。
uid远端用户 ID。
maxProfile视频编码的分辨率,用于衡量编码质量。

◆ ChannelOnFirstAudioDataReceived()

delegate void nertc.ChannelOnFirstAudioDataReceived ( IRtcChannel channel,
RtcAudioStreamType type,
ulong uid )

已接收到远端音频首帧的回调。

参数
channel当前 IRtcChannel 对象。
type音频流类型。
uid远端用户 ID,指定是哪个用户的音频流。

◆ ChannelOnFirstVideoDataReceived()

delegate void nertc.ChannelOnFirstVideoDataReceived ( IRtcChannel channel,
RtcVideoStreamType type,
ulong uid )

已显示首帧远端视频的回调。 第一帧远端视频显示在视图上时,触发此调用。

参数
channel当前 IRtcChannel 对象。
type视频流类型。
uid用户 ID,指定是哪个用户的视频流。

◆ ChannelOnRemoteVideoReceiveSizeChanged()

delegate void nertc.ChannelOnRemoteVideoReceiveSizeChanged ( ulong uid,
RtcVideoStreamType type,
uint width,
uint height )

接收的远端视频分辨率变化回调。
当远端用户视频流的分辨率发生变化时,会触发此回调。 例如推流端调用 SetVideoConfig 更改了编码分辨率设置,本地会收到该远端用户分辨率变化通知。

参数
uid用户 ID,指定是哪个用户的视频流。
type视频通道类型:kNERTCVideoStreamMain:主流。kNERTCVideoStreamSub:辅流。
width视频流宽(px)。
height视频流高(px)。

◆ ChannelOnLocalVideoRenderSizeChanged()

delegate void nertc.ChannelOnLocalVideoRenderSizeChanged ( RtcVideoStreamType type,
uint width,
uint height )

本地视频预览的分辨率变化回调, 与是否进入房间的状态无关,与硬件状态有关,也适用于预览。
当本地视频的分辨率发生变化,会触发此回调。当调用 SetCaptureConfig 设置采集分辨率或调用 SetVideoConfig 设置编码属性时可以触发该回调。 回调的分辨率宽和高为本地预览的宽和高,和实际编码发送的分辨率不一定一致。

参数
type视频通道类型:kNERTCVideoStreamMain:主流。kNERTCVideoStreamSub:辅流。
width视频流宽(px)。
height视频流高(px)。

◆ ChannelOnFirstAudioFrameDecoded()

delegate void nertc.ChannelOnFirstAudioFrameDecoded ( IRtcChannel channel,
RtcAudioStreamType type,
ulong uid )

已解码远端音频首帧的回调。

参数
channel当前 IRtcChannel 对象。
type音频流类型。
uid远端用户 ID,指定是哪个用户的音频流。

◆ ChannelOnFirstVideoFrameDecoded()

delegate void nertc.ChannelOnFirstVideoFrameDecoded ( IRtcChannel channel,
RtcVideoStreamType type,
ulong uid,
uint width,
uint height )

已接收到远端视频并完成解码的回调。
引擎收到第一帧远端视频流并解码成功时,触发此调用。

参数
channel当前 IRtcChannel 对象。
type视频流类型。
uid用户 ID,指定是哪个用户的视频流。
width视频流宽(px)。
height视频流高(px)。

◆ ChannelOnLocalAudioVolumeIndication()

delegate void nertc.ChannelOnLocalAudioVolumeIndication ( IRtcChannel channel,
int volume,
bool enableVad )

提示房间内本地用户瞬时音量的回调。

  • 该回调默认禁用。可以通过 EnableAudioVolumeIndication 方法开启。
  • 开启后,本地用户说话,SDK 会按 EnableAudioVolumeIndication 方法中设置的时间间隔触发该回调。
  • 如果本地用户将自己静音(调用了 MuteLocalAudioStream),SDK 将音量设置为 0 后回调给应用层。
    参数
    channel当前 IRtcChannel 对象。
    volume(混音后的)音量,取值范围为 [0,100]。
    enableVad是否检测到人声。

◆ ChannelOnRemoteAudioVolumeIndication()

delegate void nertc.ChannelOnRemoteAudioVolumeIndication ( IRtcChannel channel,
RtcAudioVolumeInfo[] speakers,
int totalVolume )

提示房间内谁正在说话及说话者瞬时音量的回调。
该回调默认为关闭状态。可以通过 EnableAudioVolumeIndication 方法开启。开启后,无论房间内是否有人说话,SDK 都会按。 EnableAudioVolumeIndication 方法中设置的时间间隔触发该回调。
在返回的 speakers 数组中:

  • 如果有 uid 出现在上次返回的数组中,但不在本次返回的数组中,则默认该 uid 对应的远端用户没有说话。
  • 如果 volume 为 0,表示该用户没有说话。
    • 如果 speakers 数组为空,则表示此时远端没有人说话。
      参数
      channel当前 IRtcChannel 对象。
      speakers每个说话者的用户 ID 和音量信息的数组:RtcAudioVolumeInfo
      totalVolume(混音后的)总音量,取值范围为 [0,100]。

◆ ChannelOnAddLiveStreamTask()

delegate void nertc.ChannelOnAddLiveStreamTask ( IRtcChannel channel,
string taskId,
string url,
int errorCode )

通知添加直播任务结果。
该回调异步返回 IRtcChannel.AddLiveStreamTask 接口的调用结果。实际推流状态参考 ChannelOnLiveStreamStateChanged

参数
channel当前 IRtcChannel 对象。
taskId任务 ID。
url推流地址。
errorCode结果。
  • 0: 调用成功。
  • 其他:调用失败。

◆ ChannelOnUpdateLiveStreamTask()

delegate void nertc.ChannelOnUpdateLiveStreamTask ( IRtcChannel channel,
string taskId,
string url,
int errorCode )

通知更新直播任务结果。 该回调异步返回 IRtcChannel.UpdateLiveStreamTask 接口的调用结果。实际推流状态参考。 ChannelOnLiveStreamStateChanged

参数
channel当前 IRtcChannel 对象。
taskId任务 ID。
url推流地址。
errorCode结果。
  • 0: 调用成功。
  • 其他:调用失败。

◆ ChannelOnRemoveLiveStreamTask()

delegate void nertc.ChannelOnRemoveLiveStreamTask ( IRtcChannel channel,
string taskId,
int errorCode )

通知删除直播任务结果。
该回调异步返回 IRtcChannel.RemoveLiveStreamTask 接口的调用结果。实际推流状态参考。 ChannelOnLiveStreamStateChanged

参数
channel当前 IRtcChannel 对象。
taskId任务 ID。
errorCode结果。
  • 0: 调用成功。
  • 其他:调用失败。

◆ ChannelOnLiveStreamStateChanged()

delegate void nertc.ChannelOnLiveStreamStateChanged ( IRtcChannel channel,
string taskId,
string url,
RtcLiveStreamStateCode state )

通知直播推流状态。

注解
该回调在通话中有效。
参数
channel当前 IRtcChannel 对象。
taskId任务 ID。
url推流地址。
stateRtcLiveStreamStateCode, 直播推流状态。
  • 505: 推流中。
  • 506: 推流失败。
  • 511: 推流结束。

◆ ChannelOnRecvSEIMessage()

delegate void nertc.ChannelOnRecvSEIMessage ( IRtcChannel channel,
ulong uid,
byte[] data,
uint dataSize )

收到远端流的 SEI 内容回调。
当远端成功发送 SEI 后,本端会收到此回调。

参数
channel当前 IRtcChannel 对象。
[in]uid发送该 sei 的用户 ID。
[in]data接收到的 sei 数据。
[in]dataSize接收到 sei 数据的大小。

◆ ChannelOnMediaRelayStateChanged()

delegate void nertc.ChannelOnMediaRelayStateChanged ( IRtcChannel channel,
RtcChannelMediaRelayState state,
string channelName )

跨房间媒体流转发状态发生改变回调。

自从
V4.5.0
参数
channel当前 IRtcChannel 对象。
state当前跨房间媒体流转发状态。详细信息请参考 RtcChannelMediaRelayState
channelName媒体流转发的目标房间名。

◆ ChannelOnMediaRelayEvent()

delegate void nertc.ChannelOnMediaRelayEvent ( IRtcChannel channel,
RtcChannelMediaRelayEvent evt,
string channelName,
RtcErrorCode error )

媒体流相关转发事件回调。

自从
V4.5.0
参数
channel当前 IRtcChannel 对象。
evt当前媒体流转发事件。详细信息请参考 RtcChannelMediaRelayEvent
channelName转发的目标房间名。
error相关错误码。详细信息请参考 RtcErrorCode

◆ ChannelOnPublishFallbackToAudioOnly()

delegate void nertc.ChannelOnPublishFallbackToAudioOnly ( IRtcChannel channel,
bool isFallback,
RtcVideoStreamType streamType )

本地发布流已回退为音频流、或已恢复为音视频流回调。
如果您调用了设置本地推流回退选项 IRtcChannel.SetLocalPublishFallbackOption 接口,并将 option 设置为 kNERtcStreamFallbackAudioOnly 后,当上行网络环境不理想、本地发布的媒体流回退为音频流时,或当上行网络改善、媒体流恢复为音视频流时,会触发该回调。

自从
V4.5.0
参数
channel当前 IRtcChannel 对象。
isFallback本地发布流已回退或已恢复。
  • true: 由于网络环境不理想,发布的媒体流已回退为音频流。
  • false:由于网络环境改善,从音频流恢复为音视频流。
streamType对应的视频流类型,即主流或辅流。

◆ ChannelOnSubscribeFallbackToAudioOnly()

delegate void nertc.ChannelOnSubscribeFallbackToAudioOnly ( IRtcChannel channel,
ulong uid,
bool isFallback,
RtcVideoStreamType streamType )

订阅的远端流已回退为音频流、或已恢复为音视频流回调。
如果您调用了设置远端订阅流回退选项 IRtcChannel.SetRemoteSubscribeFallbackOption 接口并将 option 设置 kNERtcStreamFallbackAudioOnly 后,当下行网络环境不理想、仅接收远端音频流时,或当下行网络改善、恢复订阅音视频流时,会触发该回调。

自从
V4.5.0
参数
channel当前 IRtcChannel 对象。
uid远端用户的 ID。
isFallback远端订阅流已回退或恢复:
  • true: 由于网络环境不理想,订阅的远端流已回退为音频流。
  • false:由于网络环境改善,订阅的远端流从音频流恢复为音视频流。
streamType对应的视频流类型,即主流或辅流。

◆ ChannelOnMediaRightChanged()

delegate void nertc.ChannelOnMediaRightChanged ( IRtcChannel channel,
bool audioBanned,
bool videoBanned )

服务端禁言音视频权限变化回调。

自从
v4.6.0
参数
channel当前 IRtcChannel 对象。
audioBanned是否禁用音频。
  • true:禁用音频。
  • false:取消禁用音频。
videoBanned是否禁用视频。
  • true:禁用视频。
  • false:取消禁用视频。

◆ ChannelOnPermissionKeyWillExpire()

delegate void nertc.ChannelOnPermissionKeyWillExpire ( IRtcChannel channel)

权限密钥即将过期事件回调。

  • 由于 PermissionKey 具有一定的时效,在通话过程中如果 PermissionKey 即将失效,SDK 会提前 30 秒触发该回调,提醒用户更新。 PermissionKey。
    自从
    V4.6.29
    使用前提
    请在 IRtcChannel 接口类中接口设置回调监听。
    相关接口
    在收到此回调后可以调用 UpdatePermissionKey 方法更新权限密钥。
    参数
    channel当前 IRtcChannel 对象。

◆ ChannelOnUpdatePermissionKey()

delegate void nertc.ChannelOnUpdatePermissionKey ( IRtcChannel channel,
string key,
RtcErrorCode errorCode,
int timeout )

更新权限密钥事件回调。

  • 调用 UpdatePermissionKey 方法主动更新权限密钥后,SDK 会触发该回调,返回权限密钥更新的结果。
    自从
    V4.6.29
    使用前提
    请在 IRtcChannel 接口类中接口设置回调监听。
    参数说明
    参数名称 类型 说明
    channel IRtcChannel 当前 IRtcChannel 对象。
    key string 新的权限密钥。
    errorCode RtcErrorCode 错误码。
    • kNERtcErrChannelPermissionKeyError:权限密钥错误。
    • kNERtcErrChannelPermissionKeyTimeout:权限密钥超时。
    timeout int 更新后的权限密钥剩余有效时间。单位为秒。