NERtc Windows SDK
Classes | Typedefs | Enumerations
nertc Namespace Reference

namespace nertc More...

Classes

class  IAudioDeviceManager
 
class  IDeviceCollection
 
class  INERtcAudioFrameObserver
 
class  IRtcEngine
 
class  IRtcEngineEventHandler
 
class  IRtcEngineEventHandlerEx
 
class  IRtcEngineEx
 
class  IRtcMediaStatsObserver
 
class  IVideoDeviceManager
 
struct  NERtcAudioFormat
 
struct  NERtcAudioFrame
 
struct  NERtcAudioFrameRequestFormat
 
struct  NERtcAudioRecvStats
 
struct  NERtcAudioSendStats
 
struct  NERtcAudioVolumeInfo
 
struct  NERtcCreateAudioEffectOption
 
struct  NERtcCreateAudioMixingOption
 
struct  NERtcDeviceInfo
 
struct  NERtcEngineContext
 
struct  NERtcLiveConfig
 
struct  NERtcLiveStreamImageInfo
 
struct  NERtcLiveStreamLayout
 
struct  NERtcLiveStreamTaskInfo
 
struct  NERtcLiveStreamTaskOption
 
struct  NERtcLiveStreamUserTranscoding
 
struct  NERtcNetworkQualityInfo
 
struct  NERtcRectangle
 
struct  NERtcScreenCaptureParameters
 
struct  NERtcStats
 
struct  NERtcVideoCanvas
 
struct  NERtcVideoConfig
 
struct  NERtcVideoDimensions
 
struct  NERtcVideoFrame
 
struct  NERtcVideoLayerRecvStats
 
struct  NERtcVideoLayerSendStats
 
struct  NERtcVideoRecvStats
 
struct  NERtcVideoSendStats
 

Typedefs

typedef uint64_t uid_t
 
typedef uint64_t channel_id_t
 
typedef void(* onFrameDataCallback) (uid_t uid, void *data, uint32_t type, uint32_t width, uint32_t height, uint32_t count, uint32_t offset[4], uint32_t stride[4], uint32_t rotation, void *user_data)
 

Enumerations

enum  NERtcInterfaceIdType { kNERtcIIDAudioDeviceManager = 1, kNERtcIIDVideoDeviceManager = 2 }
 
enum  NERtcClientRole { kNERtcClientRoleBroadcaster = 0, kNERtcClientRoleAudience = 1 }
 
enum  NERtcChannelProfileType { kNERtcChannelProfileCommunication = 0, kNERtcChannelProfileLiveBroadcasting = 1 }
 
enum  NERtcLiveStreamLayoutMode {
  kNERtcLayoutFloatingRightVertical = 0, kNERtcLayoutFloatingLeftVertical, kNERtcLayoutSplitScreen, kNERtcLayoutSplitScreenScaling,
  kNERtcLayoutCustom, kNERtcLayoutAudioOnly
}
 
enum  NERtcLiveStreamMode { kNERtcLsModeVideo = 0, kNERtcLsModeAudio = 1 }
 
enum  NERtcLiveStreamVideoScaleMode { kNERtcLsModeVideoScaleFit = 0, kNERtcLsModeVideoScaleCropFill = 1 }
 
enum  NERtcLiveStreamAudioSampleRate { kNERtcLiveStreamAudioSampleRate32000 = 32000, kNERtcLiveStreamAudioSampleRate44100 = 44100, kNERtcLiveStreamAudioSampleRate48000 = 48000 }
 
enum  NERtcLiveStreamAudioCodecProfile { kNERtcLiveStreamAudioCodecProfileLCAAC = 0, kNERtcLiveStreamAudioCodecProfileHEAAC = 1 }
 
enum  NERtcLiveStreamStateCode { kNERtcLsStatePushing = 505, kNERtcLsStatePushFail = 506, kNERtcLsStatePushStopped = 511, kNERtcLsStateImageError = 512 }
 
enum  NERtcOSCategory { kNERtcOSiOS = 1, kNERtcOSAndroid = 2, kNERtcOSPC = 3, kNERtcOSWebRTC = 4 }
 
enum  NERtcAudioProfileType {
  kNERtcAudioProfileDefault = 0, kNERtcAudioProfileStandard = 1, kNERtcAudioProfileStandardExtend = 2, kNERtcAudioProfileMiddleQuality = 3,
  kNERtcAudioProfileMiddleQualityStereo = 4, kNERtcAudioProfileHighQuality = 5, kNERtcAudioProfileHighQualityStereo = 6
}
 
enum  NERtcAudioScenarioType { kNERtcAudioScenarioDefault = 0, kNERtcAudioScenarioSpeech = 1, kNERtcAudioScenarioMusic = 2 }
 
enum  NERtcVoiceChangerType {
  kNERtcVoiceChangerOff = 0, kNERtcVoiceChangerRobot = 1, kNERtcVoiceChangerGaint = 2, kNERtcVoiceChangerHorror = 3,
  kNERtcVoiceChangerMature = 4, kNERtcVoiceChangerManToWoman = 5, kNERtcVoiceChangerWomanToMan = 6, kNERtcVoiceChangerManToLoli = 7,
  kNERtcVoiceChangerWomanToLoli = 8
}
 
enum  NERtcVoiceBeautifierType {
  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  NERtcVoiceEqualizationBand {
  kNERtcVoiceEqualizationBand_31 = 0, kNERtcVoiceEqualizationBand_62 = 1, kNERtcVoiceEqualizationBand_125 = 2, kNERtcVoiceEqualizationBand_250 = 3,
  kNERtcVoiceEqualizationBand_500 = 4, kNERtcVoiceEqualizationBand_1K = 5, kNERtcVoiceEqualizationBand_2K = 6, kNERtcVoiceEqualizationBand_4K = 7,
  kNERtcVoiceEqualizationBand_8K = 8, kNERtcVoiceEqualizationBand_16K = 9
}
 
enum  NERtcVideoProfileType {
  kNERtcVideoProfileLowest = 0, kNERtcVideoProfileLow = 1, kNERtcVideoProfileStandard = 2, kNERtcVideoProfileHD720P = 3,
  kNERtcVideoProfileHD1080P = 4, kNERtcVideoProfileNone = 5, kNERtcVideoProfileMAX = kNERtcVideoProfileHD1080P, kNERtcVideoProfileFake = 6
}
 
enum  NERtcRemoteVideoStreamType { kNERtcRemoteVideoStreamTypeHigh = 0, kNERtcRemoteVideoStreamTypeLow = 1, kNERtcRemoteVideoStreamTypeNone = 2 }
 
enum  NERtcAudioDeviceType { kNERtcAudioDeviceUnknown = 0, kNERtcAudioDeviceRecord, kNERtcAudioDevicePlayout }
 
enum  NERtcAudioDeviceState { kNERtcAudioDeviceActive = 0, kNERtcAudioDeviceUnactive }
 
enum  NERtcAudioDeviceTransportType {
  kNERtcAudioDeviceTransportTypeUnknown = 0, kNERtcAudioDeviceTransportTypeBluetooth = 1, kNERtcAudioDeviceTransportTypeBluetoothA2DP = 2, kNERtcAudioDeviceTransportTypeBluetoothLE = 3,
  kNERtcAudioDeviceTransportTypeUSB = 4, kNERtcAudioDeviceTransportTypeHDMI = 5, kNERtcAudioDeviceTransportTypeBuiltIn = 6, kNERtcAudioDeviceTransportTypeThunderbolt = 7,
  kNERtcAudioDeviceTransportTypeAirPlay = 8, kNERtcAudioDeviceTransportTypeVirtual = 9, kNERtcAudioDeviceTransportTypeOther = 10
}
 
enum  NERtcVideoDeviceTransportType { kNERtcVideoDeviceTransportTypeUnknown = 0, kNERtcVideoDeviceTransportTypeUSB = 1, kNERtcVideoDeviceTransportTypeVirtual = 2, kNERtcVideoDeviceTransportTypeOther = 3 }
 
enum  NERtcVideoDeviceType { kNERtcVideoDeviceUnknown = 0, kNERtcVideoDeviceCapture }
 
enum  NERtcVideoDeviceState { kNERtcVideoDeviceAdded = 0, kNERtcVideoDeviceRemoved }
 
enum  NERtcVideoScalingMode { kNERtcVideoScaleFit = 0, kNERtcVideoScaleFullFill = 1, kNERtcVideoScaleCropFill = 2 }
 
enum  NERtcVideoMirrorMode { kNERtcVideoMirrorModeAuto = 0, kNERtcVideoMirrorModeEnabled = 1, kNERtcVideoMirrorModeDisabled = 2 }
 
enum  NERtcConnectionStateType {
  kNERtcConnectionStateDisconnected = 1, kNERtcConnectionStateConnecting = 2, kNERtcConnectionStateConnected = 3, kNERtcConnectionStateReconnecting = 4,
  kNERtcConnectionStateFailed = 5
}
 
enum  NERtcReasonConnectionChangedType {
  kNERtcReasonConnectionChangedLeaveChannel = 1, kNERtcReasonConnectionChangedChannelClosed = 2, kNERtcReasonConnectionChangedBeKicked = 3, kNERtcReasonConnectionChangedTimeOut = 4,
  kNERtcReasonConnectionChangedJoinChannel = 5, kNERtcReasonConnectionChangedJoinSucceed = 6, kNERtcReasonConnectionChangedReJoinSucceed = 7, kNERtcReasonConnectionChangedMediaConnectionDisconnected = 8,
  kNERtcReasonConnectionChangedSignalDisconnected = 9, kNERtcReasonConnectionChangedRequestChannelFailed = 10, kNERtcReasonConnectionChangedJoinChannelFailed = 11
}
 
enum  NERtcNetworkQualityType {
  kNERtcNetworkQualityUnknown = 0, kNERtcNetworkQualityExcellent = 1, kNERtcNetworkQualityGood = 2, kNERtcNetworkQualityPoor = 3,
  kNERtcNetworkQualityBad = 4, kNERtcNetworkQualityVeryBad = 5, kNERtcNetworkQualityDown = 6
}
 
enum  NERtcVideoCropMode { kNERtcVideoCropModeDefault = 0, kNERtcVideoCropMode16x9 = 1, kNERtcVideoCropMode4x3 = 2, kNERtcVideoCropMode1x1 = 3 }
 
enum  NERtcVideoFramerateType {
  kNERtcVideoFramerateFpsDefault = 0, kNERtcVideoFramerateFps_7 = 7, kNERtcVideoFramerateFps_10 = 10, kNERtcVideoFramerateFps_15 = 15,
  kNERtcVideoFramerateFps_24 = 24, kNERtcVideoFramerateFps_30 = 30, kNERtcVideoFramerateFps_60 = 60
}
 
enum  NERtcDegradationPreference { kNERtcDegradationDefault = 0, kNERtcDegradationMaintainFramerate = 1, kNERtcDegradationMaintainQuality = 2, kNERtcDegradationBalanced = 3 }
 
enum  NERtcScreenProfileType {
  kNERtcScreenProfile480P = 0, kNERtcScreenProfileHD720P = 1, kNERtcScreenProfileHD1080P = 2, kNERtcScreenProfileCustom = 3,
  kNERtcScreenProfileNone = 4, kNERtcScreenProfileMAX = kNERtcScreenProfileHD1080P
}
 
enum  NERtcSubStreamContentPrefer { kNERtcSubStreamContentPreferMotion = 0, kNERtcSubStreamContentPreferDetails = 1 }
 
enum  NERtcRecordType { kNERtcRecordTypeAll = 0, kNERtcRecordTypeMix = 1, kNERtcRecordTypeSingle = 2 }
 
enum  NERtcAudioType { kNERtcAudioTypePCM16 = 0 }
 
enum  NERtcRawAudioFrameOpModeType { kNERtcRawAudioFrameOpModeReadOnly = 0, kNERtcRawAudioFrameOpModeReadWrite }
 
enum  NERtcVideoType {
  kNERtcVideoTypeI420 = 0, kNERtcVideoTypeNV12 = 1, kNERtcVideoTypeNV21 = 2, kNERtcVideoTypeBGRA = 3,
  kNERtcVideoTypeCVPixelBuffer = 4
}
 
enum  NERtcVideoRotation { kNERtcVideoRotation_0 = 0, kNERtcVideoRotation_90 = 90, kNERtcVideoRotation_180 = 180, kNERtcVideoRotation_270 = 270 }
 
enum  NERtcSessionLeaveReason {
  kNERtcSessionLeaveNormal = 0, kNERtcSessionLeaveForFailOver = 1, kNERtcSessionLeaveUpdate = 2, kNERtcSessionLeaveForKick = 3,
  kNERtcSessionLeaveTimeOut = 4
}
 
enum  NERtcAudioMixingState { kNERtcAudioMixingStateFinished = 0, kNERtcAudioMixingStateFailed = 1 }
 
enum  NERtcLogLevel {
  kNERtcLogLevelFatal = 0, kNERtcLogLevelError = 1, kNERtcLogLevelWarning = 2, kNERtcLogLevelInfo = 3,
  kNERtcLogLevelDetailInfo = 4, kNERtcLogLevelVerbos = 5, kNERtcLogLevelDebug = 6, kNERtcLogLevelOff = 7
}
 
enum  NERtcSendOnPubType { kNERtcSendOnPubNone = 0, kNERtcSendOnPubHigh = 1, kNERtcSendOnPubLow = 1 << 1, kNERtcSendOnPubAll = kNERtcSendOnPubLow | kNERtcSendOnPubHigh }
 
enum  NERtcStreamChannelType { kNERtcStreamChannelTypeMainStream = 0, kNERtcStreamChannelTypeSubStream = 1 }
 
enum  NERtcErrorCode {
  kNERtcNoError = 0, kNERtcErrChannelReservePermissionDenied = 403, kNERtcErrChannelReserveTimeOut = 408, kNERtcErrChannelReserveErrorParam = 414,
  kNERtcErrChannelReserveServerFail = 500, kNERtcErrChannelReserveMoreThanTwoUser = 600, kNERtcErrLsTaskRequestInvalid = 1301, kNERtcErrLsTaskIsInvaild = 1400,
  kNERtcErrLsTaskRoomExited = 1401, kNERtcErrLsTaskNumLimit = 1402, kNERtcErrLsTaskDuplicateId = 1403, kNERtcErrLsTaskNotFound = 1404,
  kNERtcErrLsTaskRequestErr = 1417, kNERtcErrLsTaskInternalServerErr = 1500, kNERtcErrLsTaskInvalidLayout = 1501, kNERtcErrLsTaskUserPicErr = 1512,
  kNERtcErrChannelStartFail = 11000, kNERtcErrChannelDisconnected = 11001, kNERtcErrVersionSelfLow = 11002, kNERtcErrVersionRemoteLow = 11003,
  kNERtcErrChannelClosed = 11004, kNERtcErrChannelKicked = 11005, kNERtcErrDataError = 11400, kNERtcErrInvalid = 11403,
  kNERtcErrChannelJoinTimeOut = 20101, kNERtcErrChannelJoinMeetingModeError = 20102, kNERtcErrChannelJoinRtmpModeError = 20103, kNERtcErrChannelJoinRtmpNodesError = 20104,
  kNERtcErrChannelJoinRtmpHostError = 20105, kNERtcErrChannelJoinRtmpCreateError = 20106, kNERtcErrChannelJoinLayoutError = 20208, kNERtcErrChannelJoinInvalidParam = 20400,
  kNERtcErrChannelJoinDesKey = 20401, kNERtcErrChannelJoinInvalidRequst = 20417, kNERtcErrChannelServerUnknown = 20500, 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, kNERtcErrChannelAlreadyJoined = 30100,
  kNERtcErrChannelNotJoined = 30101, kNERtcErrChannelRepleatedlyLeave = 30102, kNERtcErrRequestJoinChannelFail = 30103, kNERtcErrSessionNotFound = 30104,
  kNERtcErrUserNotFound = 30105, kNERtcErrInvalidUserID = 30106, kNERtcErrMediaNotStarted = 30107, kNERtcErrSourceNotFound = 30108,
  kNERtcErrSwitchChannelInvalidState = 30109, kNERtcErrConnectionNotFound = 30200, kNERtcErrStreamNotFound = 30201, kNERtcErrAddTrackFail = 30202,
  kNERtcErrTrackNotFound = 30203, kNERtcErrMediaConnectionDisconnected = 30204, kNERtcErrSignalDisconnected = 30205, kNERtcErrServerKicked = 30206,
  kNERtcErrKickedForRoomClosed = 30207, kNERtcErrChannelLeaveBySwitchAction = 30208, kNERtcRuntimeErrADMNoAuthorize = 40000, kNERtcRuntimeErrVDMNoAuthorize = 50000,
  kNERtcRuntimeErrScreenCaptureNoAuthorize = 60000
}
 
enum  NERtcRoomServerErrorCode {
  kNERtcRoomServerErrOK = 200, kNERtcRoomServerErrAuthError = 401, kNERtcRoomServerErrChannelNotExist = 404, kNERtcRoomServerErrUidNotExist = 405,
  kNERtcRoomServerErrDataError = 417, kNERtcRoomServerErrUnknown = 500, kNERtcRoomServerErrServerError = 600, kNERtcRoomServerErrInvilid = 11403
}
 
enum  NERtcAudioMixingErrorCode {
  kNERtcAudioMixingErrorOK = 0, kNERtcAudioMixingErrorFatal = 1, kNERtcAudioMixingErrorCanNotOpen, kNERtcAudioMixingErrorDecode,
  kNERtcAudioMixingErrorInterrupt, kNERtcAudioMixingErrorHttpNotFound, kNERtcAudioMixingErrorOpen, kNERtcAudioMixingErrorNInfo,
  kNERtcAudioMixingErrorNStream, kNERtcAudioMixingErrorNCodec, kNERtcAudioMixingErrorNMem, kNERtcAudioMixingErrorCodecOpen,
  kNERtcAudioMixingErrorInvalidInfo, kNERtcAudioMixingErrorOpenTimeout, kNERtcAudioMixingErrorIoTimeout, kNERtcAudioMixingErrorIo
}
 
enum  NERtcDMErrorCode {
  kNERtcRuntimeErrADMInitRecording = 40001, kNERtcRuntimeErrADMStartRecording = 40002, kNERtcRuntimeErrADMStopRecording = 40003, kNERtcRuntimeErrADMInitPlayout = 40004,
  kNERtcRuntimeErrADMStartPlayout = 40005, kNERtcRuntimeErrADMStopPlayout = 40006, kNERtcErrVDMCameraNoFrame = 1502, kNERtcErrVDMCameraCreateFail = 1503
}
 
enum  NERtcWarnCode {
  kNERtcWarnInvalidView = 100, kNERtcWarnInitVideo = 101, kNERtcWarnPending = 102, kNERtcWarnADMRuntimePlayoutWarning = 1001,
  kNERtcWarnADMRuntimeRecordingWarning = 1002, kNERtcWarnADMRecordAudioSilence = 1003, kNERtcWarnADMPlayoutMalfunction = 1004, kNERtcWarnADMRecordMalfunction = 1005,
  kNERtcWarnADMRecordAudioLowLevel = 1006, kNERtcWarnADMPlayoutAudioLowLevel = 1007, kNERtcWarnAPMHowling = 1008, kNERtcWarnADMGlitchState = 1009,
  kNERtcWarnADMImproperSettings = 1010, kNERtcWarnADMWinCoreNoDataReadyEvent = 2000, kNERtcWarnADMWinCoreNoRecordingDevice = 2001, kNERtcWarnADMWinCoreNoPlayoutDevice = 2002,
  kNERtcWarnADMWinCoreImproperCaptureRelease = 2003
}
 

Detailed Description

namespace nertc

Typedef Documentation

typedef uint64_t nertc::channel_id_t

64位无符号整数。建议设置范围:1到 263-1,并保证唯一性。

typedef void(* nertc::onFrameDataCallback) (uid_t uid, void *data, uint32_t type, uint32_t width, uint32_t height, uint32_t count, uint32_t offset[4], uint32_t stride[4], uint32_t rotation, void *user_data )

视频帧数据回调

Parameters
uid用户id
data数据指针
type数据类型NERtcVideoType
width宽度
height高度
count数据类型个数,即offset及stride的数目
offset每类数据偏移
stride每类数据步进
rotation画面旋转角度NERtcVideoRotation
user_data用户透传数据
Returns
typedef uint64_t nertc::uid_t

64位无符号整数。建议设置范围:1到 263-1,并保证唯一性。

Enumeration Type Documentation

音频设备类型状态。

Enumerator
kNERtcAudioDeviceActive 

音频设备已激活

kNERtcAudioDeviceUnactive 

音频设备未激活

音频设备链接类型。

Enumerator
kNERtcAudioDeviceTransportTypeUnknown 

未知设备

kNERtcAudioDeviceTransportTypeBluetooth 

蓝牙设备

kNERtcAudioDeviceTransportTypeBluetoothA2DP 

蓝牙立体声设备

kNERtcAudioDeviceTransportTypeBluetoothLE 

蓝牙低功耗设备

kNERtcAudioDeviceTransportTypeUSB 

USB设备

kNERtcAudioDeviceTransportTypeHDMI 

HDMI设备

kNERtcAudioDeviceTransportTypeBuiltIn 

内置设备

kNERtcAudioDeviceTransportTypeThunderbolt 

雷电接口设备

kNERtcAudioDeviceTransportTypeAirPlay 

AirPlay设备

kNERtcAudioDeviceTransportTypeVirtual 

虚拟设备

kNERtcAudioDeviceTransportTypeOther 

其他设备

音频设备类型。

Enumerator
kNERtcAudioDeviceUnknown 

未知音频设备

kNERtcAudioDeviceRecord 

音频采集设备

kNERtcAudioDevicePlayout 

音频播放设备

混音音乐文件错误码。

Enumerator
kNERtcAudioMixingErrorOK 

没有错误。

kNERtcAudioMixingErrorFatal 

通用错误。

kNERtcAudioMixingErrorCanNotOpen 

伴音不能正常打开

kNERtcAudioMixingErrorDecode 

音频解码错误

kNERtcAudioMixingErrorInterrupt 

操作中断码

kNERtcAudioMixingErrorHttpNotFound 

404 file not found,only for http / https

kNERtcAudioMixingErrorOpen 

打开流 / 文件失败

kNERtcAudioMixingErrorNInfo 

获取解码信息失败 / 超时

kNERtcAudioMixingErrorNStream 

无音频流

kNERtcAudioMixingErrorNCodec 

无解码器

kNERtcAudioMixingErrorNMem 

无内存

kNERtcAudioMixingErrorCodecOpen 

解码器打开失败 / 超时

kNERtcAudioMixingErrorInvalidInfo 

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

kNERtcAudioMixingErrorOpenTimeout 

打开流 / 文件超时

kNERtcAudioMixingErrorIoTimeout 

网络io超时

kNERtcAudioMixingErrorIo 

网络io错误

音乐文件播放状态。

Enumerator
kNERtcAudioMixingStateFinished 

音乐文件播放结束。

kNERtcAudioMixingStateFailed 

音乐文件报错。详见: NERtcAudioMixingErrorCode

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

Enumerator
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

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

Enumerator
kNERtcAudioScenarioDefault 

0: 默认设置

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

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

kNERtcAudioScenarioMusic 

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

音频类型。

Enumerator
kNERtcAudioTypePCM16 

PCM 音频格式。

场景模式

Enumerator
kNERtcChannelProfileCommunication 

通话场景

kNERtcChannelProfileLiveBroadcasting 

直播推流场景

参会者角色类型

Enumerator
kNERtcClientRoleBroadcaster 

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

kNERtcClientRoleAudience 

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

连接状态

Enumerator
kNERtcConnectionStateDisconnected 

没加入房间。

kNERtcConnectionStateConnecting 

正在加入房间。

kNERtcConnectionStateConnected 

加入房间成功。

kNERtcConnectionStateReconnecting 

正在尝试重新加入房间。

kNERtcConnectionStateFailed 

加入房间失败。

视频编码策略。

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

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

kNERtcDegradationMaintainQuality 

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

kNERtcDegradationBalanced 

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

错误代码。

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

Enumerator
kNERtcRuntimeErrADMInitRecording 

音频设备模块:初始化录音设备时出现错误。请检查录音设备是否正常或者权限限制,或者尝试重新进入频道。

kNERtcRuntimeErrADMStartRecording 

音频设备模块:启动录音设备出现错误。请检查录音设备是否正常,或者尝试重新进入频道。

kNERtcRuntimeErrADMStopRecording 

音频设备模块:运行时录音错误。请检查录音设备是否正常,或者尝试重新进入频道。

kNERtcRuntimeErrADMInitPlayout 

音频设备模块:初始化播放设备出现错误。请检查播放设备是否异常或者权限限制,或者尝试重新进入频道。

kNERtcRuntimeErrADMStartPlayout 

音频设备模块:启动播放设备出现错误。请检查播放设备是否正常,或者尝试重新进入频道。

kNERtcRuntimeErrADMStopPlayout 

音频设备模块:运行时播放出现错误。请检查播放设备是否正常,或者尝试重新进入频道。

kNERtcErrVDMCameraNoFrame 

视频设备模块:摄像头无数据帧。请检查摄像头或者切换摄像头。

kNERtcErrVDMCameraCreateFail 

视频设备模块:摄像头启动失败。请检查摄像头是否存在或被占用

错误代码。

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

Enumerator
kNERtcNoError 

没有错误

kNERtcErrChannelReservePermissionDenied 

没有权限,包括没有开通音视频功能、没有开通非安全但是请求了非安全等

kNERtcErrChannelReserveTimeOut 

请求超时

kNERtcErrChannelReserveErrorParam 

服务器请求参数错误

kNERtcErrChannelReserveServerFail 

分配频道服务器未知错误

kNERtcErrChannelReserveMoreThanTwoUser 

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

kNERtcErrLsTaskRequestInvalid 

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

kNERtcErrLsTaskIsInvaild 

task参数格式错误

kNERtcErrLsTaskRoomExited 

房间已经退出

kNERtcErrLsTaskNumLimit 

推流任务超出上限

kNERtcErrLsTaskDuplicateId 

推流ID重复

kNERtcErrLsTaskNotFound 

taskId任务不存在,或频道不存在

kNERtcErrLsTaskRequestErr 

请求失败

kNERtcErrLsTaskInternalServerErr 

服务器内部错误

kNERtcErrLsTaskInvalidLayout 

布局参数错误

kNERtcErrLsTaskUserPicErr 

用户图片错误

kNERtcErrChannelStartFail 

通道发起失败

kNERtcErrChannelDisconnected 

断开连接

kNERtcErrVersionSelfLow 

本人SDK版本太低不兼容

kNERtcErrVersionRemoteLow 

对方SDK版本太低不兼容

kNERtcErrChannelClosed 

通道被关闭

kNERtcErrChannelKicked 

账号被踢

kNERtcErrDataError 

数据错误

kNERtcErrInvalid 

无效的操作

kNERtcErrChannelJoinTimeOut 

请求超时

kNERtcErrChannelJoinMeetingModeError 

会议模式错误

kNERtcErrChannelJoinRtmpModeError 

rtmp用户加入非rtmp频道

kNERtcErrChannelJoinRtmpNodesError 

超过频道最多rtmp人数限制

kNERtcErrChannelJoinRtmpHostError 

已经存在一个主播

kNERtcErrChannelJoinRtmpCreateError 

需要旁路直播, 但频道创建者非主播

kNERtcErrChannelJoinLayoutError 

主播自定义布局错误

kNERtcErrChannelJoinInvalidParam 

错误参数

kNERtcErrChannelJoinDesKey 

密码加密错误

kNERtcErrChannelJoinInvalidRequst 

错误请求

kNERtcErrChannelServerUnknown 

服务器内部错误

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 

桌面录屏未就绪

kNERtcErrChannelAlreadyJoined 

重复加入频道

kNERtcErrChannelNotJoined 

尚未加入频道

kNERtcErrChannelRepleatedlyLeave 

重复离开频道

kNERtcErrRequestJoinChannelFail 

加入频道操作失败

kNERtcErrSessionNotFound 

会话未找到

kNERtcErrUserNotFound 

用户未找到

kNERtcErrInvalidUserID 

非法的用户 ID

kNERtcErrMediaNotStarted 

用户多媒体数据未连接

kNERtcErrSourceNotFound 

source 未找到

kNERtcErrSwitchChannelInvalidState 

切换频道状态无效

kNERtcErrConnectionNotFound 

连接未找到

kNERtcErrStreamNotFound 

媒体流未找到

kNERtcErrAddTrackFail 

加入 track 失败

kNERtcErrTrackNotFound 

track 未找到

kNERtcErrMediaConnectionDisconnected 

媒体连接断开

kNERtcErrSignalDisconnected 

信令连接断开

kNERtcErrServerKicked 

被踢出频道

kNERtcErrKickedForRoomClosed 

因频道已关闭而被踢出

kNERtcErrChannelLeaveBySwitchAction 

因为切换频道的操作频道被关闭

kNERtcRuntimeErrADMNoAuthorize 

没有音频设备权限

kNERtcRuntimeErrVDMNoAuthorize 

没有视频设备权限

kNERtcRuntimeErrScreenCaptureNoAuthorize 

没有录制视频权限

接口ID类型。

Enumerator
kNERtcIIDAudioDeviceManager 

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

kNERtcIIDVideoDeviceManager 

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

直播推流音频编码规格

Enumerator
kNERtcLiveStreamAudioCodecProfileLCAAC 

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

kNERtcLiveStreamAudioCodecProfileHEAAC 

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

直播推流音频采样率

Enumerator
kNERtcLiveStreamAudioSampleRate32000 

采样率为 32 kHz。

kNERtcLiveStreamAudioSampleRate44100 

采样率为 44.1 kHz。

kNERtcLiveStreamAudioSampleRate48000 

(默认)采样率为 48 kHz。

连麦方式。

直播推流模式

Enumerator
kNERtcLsModeVideo 

推流带视频

kNERtcLsModeAudio 

推流纯音频

直播推流状态。

Enumerator
kNERtcLsStatePushing 

推流中

kNERtcLsStatePushFail 

互动直播推流失败

kNERtcLsStatePushStopped 

推流结束

kNERtcLsStateImageError 

背景图片设置出错

直播推流视频裁剪模式

Enumerator
kNERtcLsModeVideoScaleFit 

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

kNERtcLsModeVideoScaleCropFill 

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

日志级别。

Enumerator
kNERtcLogLevelFatal 

Fatal 级别日志信息。

kNERtcLogLevelError 

Error 级别日志信息。

kNERtcLogLevelWarning 

Warning 级别日志信息。

kNERtcLogLevelInfo 

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

kNERtcLogLevelDetailInfo 

Detail Info 级别日志信息。

kNERtcLogLevelVerbos 

Verbos 级别日志信息。

kNERtcLogLevelDebug 

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

kNERtcLogLevelOff 

不输出日志信息。

网络质量类型。

Enumerator
kNERtcNetworkQualityUnknown 

0: 网络质量未知。

kNERtcNetworkQualityExcellent 

1: 网络质量极好。

kNERtcNetworkQualityGood 

2: 用户主观感觉和 excellent 差不多,但码率可能略低于 excellent。

kNERtcNetworkQualityPoor 

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

kNERtcNetworkQualityBad 

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

kNERtcNetworkQualityVeryBad 

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

kNERtcNetworkQualityDown 

6: 完全无法沟通。

系统分类。

Enumerator
kNERtcOSiOS 

iOS 通用设备

kNERtcOSAndroid 

Android 通用设备

kNERtcOSPC 

PC设备

kNERtcOSWebRTC 

WebRTC

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

Enumerator
kNERtcRawAudioFrameOpModeReadOnly 

返回数据只读模式

kNERtcRawAudioFrameOpModeReadWrite 

返回数据可读写

连接状态变更原因

Enumerator
kNERtcReasonConnectionChangedLeaveChannel 

kNERtcConnectionStateDisconnected 离开房间

kNERtcReasonConnectionChangedChannelClosed 

kNERtcConnectionStateDisconnected 房间被关闭

kNERtcReasonConnectionChangedBeKicked 

kNERtcConnectionStateDisconnected 用户被踢

kNERtcReasonConnectionChangedTimeOut 

kNERtcConnectionStateDisconnected 服务超时

kNERtcReasonConnectionChangedJoinChannel 

kNERtcConnectionStateConnecting 加入房间

kNERtcReasonConnectionChangedJoinSucceed 

kNERtcConnectionStateConnected 加入房间成功

kNERtcReasonConnectionChangedReJoinSucceed 

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

kNERtcReasonConnectionChangedMediaConnectionDisconnected 

kNERtcConnectionStateReconnecting 媒体连接断开

kNERtcReasonConnectionChangedSignalDisconnected 

kNERtcConnectionStateReconnecting 信令连接断开

kNERtcReasonConnectionChangedRequestChannelFailed 

kNERtcConnectionStateFailed 请求房间失败

kNERtcReasonConnectionChangedJoinChannelFailed 

kNERtcConnectionStateFailed 加入房间失败

录制类型。

Enumerator
kNERtcRecordTypeAll 

参与合流+单流录制。

kNERtcRecordTypeMix 

参与合流录制模式。

kNERtcRecordTypeSingle 

参与单流录制模式。

视频流类型。

Enumerator
kNERtcRemoteVideoStreamTypeHigh 

默认大流

kNERtcRemoteVideoStreamTypeLow 

小流

kNERtcRemoteVideoStreamTypeNone 

不订阅

room server相关错误码。TODO:NERtcErrorCode

Enumerator
kNERtcRoomServerErrOK 

操作成功

kNERtcRoomServerErrAuthError 

认证错误

kNERtcRoomServerErrChannelNotExist 

房间不存在

kNERtcRoomServerErrUidNotExist 

房间下的uid不存在

kNERtcRoomServerErrDataError 

请求数据不对

kNERtcRoomServerErrUnknown 

内部错误(TurnServer请求异常)

kNERtcRoomServerErrServerError 

服务器内部错误

kNERtcRoomServerErrInvilid 

无效的操作

屏幕共享编码参数配置。

Enumerator
kNERtcScreenProfile480P 

640x480, 5fps

kNERtcScreenProfileHD720P 

1280x720, 5fps

kNERtcScreenProfileHD1080P 

1920x1080, 5fps。默认

kNERtcScreenProfileCustom 

自定义

视频推流后发送策略。

Enumerator
kNERtcSendOnPubNone 

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

kNERtcSendOnPubHigh 

主动发送大流。

kNERtcSendOnPubLow 

主动发送小流。

kNERtcSendOnPubAll 

主动发送大小流。

用户离开原因。

Enumerator
kNERtcSessionLeaveNormal 

正常离开。

kNERtcSessionLeaveForFailOver 

用户断线导致离开。

kNERtcSessionLeaveUpdate 

用户 Failover 过程中产生的 leave。

kNERtcSessionLeaveForKick 

用户被踢导致离开。

kNERtcSessionLeaveTimeOut 

用户超时导致离开。

SEI发送的流通道类型

Enumerator
kNERtcStreamChannelTypeMainStream 

主流通道

kNERtcStreamChannelTypeSubStream 

辅流通道

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

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

动画模式。

kNERtcSubStreamContentPreferDetails 

细节模式。

视频画面裁剪模式。

Enumerator
kNERtcVideoCropModeDefault 

Device Defalut

kNERtcVideoCropMode16x9 

16:9

kNERtcVideoCropMode4x3 

4:3

kNERtcVideoCropMode1x1 

1:1

视频设备类型状态。

Enumerator
kNERtcVideoDeviceAdded 

视频设备已添加

kNERtcVideoDeviceRemoved 

视频设备已拔除

摄像头设备链接类型。

Enumerator
kNERtcVideoDeviceTransportTypeUnknown 

未知设备

kNERtcVideoDeviceTransportTypeUSB 

USB设备

kNERtcVideoDeviceTransportTypeVirtual 

虚拟设备

kNERtcVideoDeviceTransportTypeOther 

其他设备

视频设备类型。

Enumerator
kNERtcVideoDeviceUnknown 

未知视频设备

kNERtcVideoDeviceCapture 

视频采集设备

视频帧率。

Enumerator
kNERtcVideoFramerateFpsDefault 

默认帧率

kNERtcVideoFramerateFps_7 

7帧每秒

kNERtcVideoFramerateFps_10 

10帧每秒

kNERtcVideoFramerateFps_15 

15帧每秒

kNERtcVideoFramerateFps_24 

24帧每秒

kNERtcVideoFramerateFps_30 

30帧每秒

kNERtcVideoFramerateFps_60 

60帧每秒

设置镜像模式。

Enumerator
kNERtcVideoMirrorModeAuto 

0: Windows/macOS SDK 启用镜像模式。在 iOS/Android 平台中:如果你使用前置摄像头,SDK 默认启用镜像模式;如果你使用后置摄像头,SDK 默认关闭镜像模式。

kNERtcVideoMirrorModeEnabled 

1: 启用镜像模式。

kNERtcVideoMirrorModeDisabled 

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

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

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

普清(160x90/120, 15fps)

kNERtcVideoProfileLow 

标清(320x180/240, 15fps)

kNERtcVideoProfileStandard 

高清(640x360/480, 30fps)

kNERtcVideoProfileHD720P 

超清(1280x720, 30fps)

kNERtcVideoProfileHD1080P 

1080P(1920x1080, 30fps)

kNERtcVideoProfileFake 

FakeVideo标识,仅在回调中显示。请勿主动设置,否则 SDK 会按照STANDARD处理。

当远端在纯音频状态发送 SEI 时,本端将会收到远端的onUserVideoStart回调,其中 max_profile 参数为kNERtcVideoProfileFake , 表示对端发送 16*16 的FakeVideo,此时如果本端需要接收远端的SEI信息,只需要订阅一下远端的视频即可,无须设置远端画布。

视频旋转角度。

Enumerator
kNERtcVideoRotation_0 

0 度。

kNERtcVideoRotation_90 

90 度。

kNERtcVideoRotation_180 

180 度。

kNERtcVideoRotation_270 

270 度。

设置视频缩放模式。

Enumerator
kNERtcVideoScaleFit 

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

kNERtcVideoScaleFullFill 

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

kNERtcVideoScaleCropFill 

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

视频类型。

Enumerator
kNERtcVideoTypeI420 

I420 视频格式。

kNERtcVideoTypeNV12 

NV12 视频格式。

kNERtcVideoTypeNV21 

NV21 视频格式。

kNERtcVideoTypeBGRA 

BGRA 视频格式。

kNERtcVideoTypeCVPixelBuffer 

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

预设的美声效果

Enumerator
kNERtcVoiceBeautifierOff 

默认关闭

kNERtcVoiceBeautifierMuffled 

低沉

kNERtcVoiceBeautifierMellow 

圆润

kNERtcVoiceBeautifierClear 

清澈

kNERtcVoiceBeautifierMagnetic 

磁性

kNERtcVoiceBeautifierRecordingstudio 

录音棚

kNERtcVoiceBeautifierNature 

天籁

kNERtcVoiceBeautifierKTV 

KTV

kNERtcVoiceBeautifierRemote 

悠远

kNERtcVoiceBeautifierChurch 

教堂

kNERtcVoiceBeautifierBedroom 

卧室

kNERtcVoiceBeautifierLive 

Live

变声 预设值

Enumerator
kNERtcVoiceChangerOff 

默认关闭

kNERtcVoiceChangerRobot 

机器人

kNERtcVoiceChangerGaint 

巨人

kNERtcVoiceChangerHorror 

恐怖

kNERtcVoiceChangerMature 

成熟

kNERtcVoiceChangerManToWoman 

男变女

kNERtcVoiceChangerWomanToMan 

女变男

kNERtcVoiceChangerManToLoli 

男变萝莉

kNERtcVoiceChangerWomanToLoli 

女变萝莉

音效均衡波段的中心频率

Enumerator
kNERtcVoiceEqualizationBand_31 

31 Hz

kNERtcVoiceEqualizationBand_62 

62 Hz

kNERtcVoiceEqualizationBand_125 

125 Hz

kNERtcVoiceEqualizationBand_250 

250 Hz

kNERtcVoiceEqualizationBand_500 

500 Hz

kNERtcVoiceEqualizationBand_1K 

1 kHz

kNERtcVoiceEqualizationBand_2K 

2 kHz

kNERtcVoiceEqualizationBand_4K 

4 kHz

kNERtcVoiceEqualizationBand_8K 

8 kHz

kNERtcVoiceEqualizationBand_16K 

16 kHz

警告代码。

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

Enumerator
kNERtcWarnInvalidView 

指定的 view 无效,使用视频功能时需要指定 view,如果 view 尚未指定,则返回该警告。

kNERtcWarnInitVideo 

初始化视频功能失败。有可能是因视频资源被占用导致的。用户无法看到视频画面,但不影响语音通信。

kNERtcWarnPending 

请求处于待定状态。一般是由于某个模块还没准备好,请求被延迟处理。

kNERtcWarnADMRuntimePlayoutWarning 

音频设备模块:运行时播放设备出现警告。

kNERtcWarnADMRuntimeRecordingWarning 

音频设备模块:运行时录音设备出现警告。

kNERtcWarnADMRecordAudioSilence 

音频设备模块:没有采集到有效的声音数据。

kNERtcWarnADMPlayoutMalfunction 

音频设备模块:播放设备故障。

kNERtcWarnADMRecordMalfunction 

音频设备模块:录音设备故障。

kNERtcWarnADMRecordAudioLowLevel 

音频设备模块:录到的声音太低。

kNERtcWarnADMPlayoutAudioLowLevel 

音频设备模块:播放的声音太低。

kNERtcWarnAPMHowling 

音频设备模块:录音声音监测到啸叫。

kNERtcWarnADMGlitchState 

音频设备模块:音频播放会卡顿。

kNERtcWarnADMImproperSettings 

音频设备模块:音频底层设置被修改。

kNERtcWarnADMWinCoreNoDataReadyEvent 

音频设备模块:音频驱动异常。解决方案:禁用并重新使能音频设备,或者重启机器,或者更新声卡驱动。

kNERtcWarnADMWinCoreNoRecordingDevice 

音频设备模块:无可用音频采集设备。

kNERtcWarnADMWinCoreNoPlayoutDevice 

音频设备模块:无可用音频播放设备。解决方案:插入音频设备。

kNERtcWarnADMWinCoreImproperCaptureRelease 

音频设备模块:音频采集释放有误。解决方案:禁用并重新使能音频设备,或者重启机器,或者更新声卡驱动。