Unreal Engine SDK V5.4.128
载入中...
搜索中...
未找到
NertcEngineDefines.h 文件参考
#include "NertcBaseTypes.h"

浏览该文件的源代码.

struct  nertc::NERtcLiveStreamTaskOption
 
struct  nertc::NERtcLiveStreamUserTranscoding
 
struct  nertc::NERtcLiveStreamImageInfo
 
struct  nertc::NERtcLiveStreamLayout
 
struct  nertc::NERtcLiveConfig
 
struct  nertc::NERtcLiveStreamTaskInfo
 
struct  nertc::NERtcCameraCaptureConfig
 
struct  nertc::NERtcDeviceInfo
 
struct  nertc::NERtcAudioVolumeInfo
 
struct  nertc::NERtcStats
 
struct  nertc::NERtcVideoLayerSendStats
 
struct  nertc::NERtcVideoSendStats
 
struct  nertc::NERtcVideoLayerRecvStats
 
struct  nertc::NERtcVideoRecvStats
 
struct  nertc::NERtcAudioLayerSendStats
 
struct  nertc::NERtcAudioSendStats
 
struct  nertc::NERtcAudioLayerRecvStats
 
struct  nertc::NERtcAudioRecvStats
 
struct  nertc::NERtcNetworkQualityInfo
 
struct  nertc::NERtcVideoConfig
 
struct  nertc::NERtcRectangle
 
struct  nertc::NERtcVideoDimensions
 
struct  nertc::NERtcScreenCaptureParameters
 
struct  nertc::NERtcVideoCanvas
 
struct  nertc::NERtcAudioFrameRequestFormat
 
struct  nertc::NERtcAudioFormat
 
struct  nertc::NERtcAudioFrame
 
struct  nertc::NERtcAudioEncodedFrame
 
class  nertc::INERtcAudioFrameObserver
 
struct  nertc::NERtcVideoFrame
 
struct  nertc::NERtcVideoEncodedFrame
 
struct  nertc::NERtcCreateAudioMixingOption
 
struct  nertc::NERtcCreateAudioEffectOption
 
struct  nertc::NERtcChannelMediaRelayInfo
 
struct  nertc::NERtcChannelMediaRelayConfiguration
 
struct  nertc::NERtcVideoWatermarkImageConfig
 
struct  nertc::NERtcVideoWatermarkTextConfig
 
struct  nertc::NERtcVideoWatermarkTimestampConfig
 
struct  nertc::NERtcVideoWatermarkConfig
 
class  nertc::NERtcTakeSnapshotCallback
 
struct  nertc::NERtcServerAddresses
 
struct  nertc::NERtcAudioRecordingConfiguration
 
struct  nertc::NERtcEncryptionConfig
 
struct  nertc::NERtcLastmileProbeConfig
 
struct  nertc::NERtcLastmileProbeOneWayResult
 
struct  nertc::NERtcLastmileProbeResult
 
struct  nertc::NERtcVirtualBackgroundSource
 
struct  nertc::NERtcReverbParam
 
struct  nertc::NERtcJoinChannelOptions
 
struct  nertc::NERtcJoinChannelOptionsEx
 
struct  nertc::NERtcUserJoinExtraInfo
 
struct  nertc::NERtcPositionInfo
 
struct  nertc::NERtcSpatializerRoomProperty
 
struct  nertc::NERtcCameraFocusAndExposureInfo
 
struct  nertc::NERtcPoint
 
struct  nertc::NERtcVideoCorrectionConfiguration
 

命名空间

namespace  nertc
 namespace nertc
 

宏定义

#define kNERtcMaxPlaneCount   4
 
#define kNERtcEncryptByteLength   128
 
#define kNERtcCustomInfoLength   128
 
#define kNERtcMaxChannelNameLength   128
 
#define kNERtcMaxTokenLength   256
 
#define kNERtcMaxDeviceIDLength   256
 
#define kNERtcMaxDeviceNameLength   256
 
#define kNERtcMaxURILength   256
 
#define kNERtcMaxTaskIDLength   64
 
#define kNERtcMaxBuffLength   1024
 
#define kNERtcMaxSEIBufferLength   4096
 
#define kNERtcExternalVideoDeviceID   "nertc-video-external-device"
 
#define kNERtcAudioDeviceAutoID   "nertc-audio-device-auto"
 
#define kNERtcKeyRecordHostEnabled   "record_host_enabled"
 
#define kNERtcKeyRecordAudioEnabled   "record_audio_enabled"
 
#define kNERtcKeyRecordVideoEnabled   "record_video_enabled"
 
#define kNERtcKeyRecordType   "record_type"
 
#define kNERtcKeyAutoSubscribeAudio   "auto_subscribe_audio"
 
#define kNERtcKeyEnableAudioASLManualSubscribe   "enable_audio_asl_manual_subscribe"
 
#define kNERtcKeyPublishSelfStreamEnabled   "publish_self_stream_enabled"
 
#define kNERtcKeyLogLevel   "log_level"
 
#define kNERtcKeyAudioProcessingAECEnable   "audio_processing_aec_enable"
 
#define kNERtcKeyAudioAECLowLevelEnable   "audio_aec_low_level_enable"
 
#define kNERtcKeyAudioProcessingAGCEnable   "audio_processing_agc_enable"
 
#define kNERtcKeyAudioProcessingNSEnable   "audio_processing_ns_enable"
 
#define kNERtcKeyAudioProcessingAINSEnable   "audio_processing_ai_ns_enable"
 
#define kNERtcKeyAudioProcessingExternalAudioMixEnable   "audio_processing_external_audiomix_enable"
 
#define kNERtcKeyAudioProcessingEarphone   "audio_processing_earphone"
 
#define kNERtcKeyVideoSendOnPubType   "video_sendonpub_type"
 
#define kNERtcKeyChannel1V1ModeEnabled   "channel_1v1_mode_enabled"
 
#define kNERtcKeyExtraInfo   "extra_info"
 
#define kNERtcKeyAudioDeviceAutoSelectType   "audio_device_auto_select_type"
 
#define kNERtcKeyEnableReportVolumeWhenMute   "enable_report_volume_when_mute"
 
#define kNERtcKeyEnableVideoCaptureObserver   "enable_video_capture_observer"
 
#define kNERtcKeyVideoPreferHWEncode   "video_prefer_hw_encode"
 
#define kNERtcKeyVideoPreferHWDecode   "video_prefer_hw_decode"
 
#define kNERtcKeyEnableDynamicToken   "enable_dynamic_token"
 
#define kNERtcKeyVideoStartWithBackCamera   "video_start_with_back_camera"
 
#define kNERtcKeyVideoPreferMetalRender   "video_prefer_metal_render"
 
#define kNERtcKeyDisableOverrideSpeakerOnReceiver   "disable_override_speaker_on_receiver"
 
#define kNERtcKeyDisableSWAECOnHeadset   "disable_sw_aec_on_headset"
 
#define kNERtcKeyEnableAudioBluetoothSCO   "enable_audio_bluetooth_sco"
 
#define kNERtcKeyEnableVideoMirrorWithFrontCamera   "enable_video_mirror_with_front_camera"
 
#define kNERtcKeyVideoCameraType   "video_camera_type"
 
#define kNERtcKeyEnableSnapshotWithFile   "enable_snapshot_with_file"
 
#define kNERtcKeyAutoSubscribeVideo   "auto_subscribe_video"
 
#define kNERtcKeyAutoSubscribeData   "auto_subscribe_data"
 
#define kNERtcKeyDisableVideoDecoder   "disable_video_decoder"
 
#define kNERtcKeyVideoRenderType   "sdk.prefer.video.render"
 

类型定义

typedef uint64_t nertc::uid_t
 
typedef uint64_t nertc::channel_id_t
 
typedef void * nertc::source_id_t
 
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)
 

枚举

enum  nertc::NERtcInterfaceIdType { nertc::kNERtcIIDAudioDeviceManager = 1 , nertc::kNERtcIIDVideoDeviceManager = 2 }
 
enum  nertc::NERtcClientRole { nertc::kNERtcClientRoleBroadcaster = 0 , nertc::kNERtcClientRoleAudience = 1 }
 
enum  nertc::NERtcChannelProfileType { nertc::kNERtcChannelProfileCommunication = 0 , nertc::kNERtcChannelProfileLiveBroadcasting = 1 }
 
enum  nertc::NERtcMediaPriorityType { nertc::kNERtcMediaPriorityHigh = 50 , nertc::kNERtcMediaPriorityNormal = 100 }
 
enum  nertc::NERtcLiveStreamLayoutMode {
  nertc::kNERtcLayoutFloatingRightVertical = 0 , nertc::kNERtcLayoutFloatingLeftVertical , nertc::kNERtcLayoutSplitScreen , nertc::kNERtcLayoutSplitScreenScaling ,
  nertc::kNERtcLayoutCustom , nertc::kNERtcLayoutAudioOnly
}
 
enum  nertc::NERtcLiveStreamMode { nertc::kNERtcLsModeVideo = 0 , nertc::kNERtcLsModeAudio = 1 }
 
enum  nertc::NERtcLiveStreamVideoScaleMode { nertc::kNERtcLsModeVideoScaleFit = 0 , nertc::kNERtcLsModeVideoScaleCropFill = 1 }
 
enum  nertc::NERtcLiveStreamAudioSampleRate { nertc::kNERtcLiveStreamAudioSampleRate32000 = 32000 , nertc::kNERtcLiveStreamAudioSampleRate44100 = 44100 , nertc::kNERtcLiveStreamAudioSampleRate48000 = 48000 }
 
enum  nertc::NERtcLiveStreamAudioCodecProfile { nertc::kNERtcLiveStreamAudioCodecProfileLCAAC = 0 , nertc::kNERtcLiveStreamAudioCodecProfileHEAAC = 1 }
 
enum  nertc::NERtcLiveStreamStateCode { nertc::kNERtcLsStatePushing = 505 , nertc::kNERtcLsStatePushFail = 506 , nertc::kNERtcLsStatePushStopped = 511 , nertc::kNERtcLsStateImageError = 512 }
 
enum  nertc::NERtcOSCategory { nertc::kNERtcOSiOS = 1 , nertc::kNERtcOSAndroid = 2 , nertc::kNERtcOSPC = 3 , nertc::kNERtcOSWebRTC = 4 }
 
enum  nertc::NERtcAudioProfileType {
  nertc::kNERtcAudioProfileDefault = 0 , nertc::kNERtcAudioProfileStandard = 1 , nertc::kNERtcAudioProfileStandardExtend = 2 , nertc::kNERtcAudioProfileMiddleQuality = 3 ,
  nertc::kNERtcAudioProfileMiddleQualityStereo = 4 , nertc::kNERtcAudioProfileHighQuality = 5 , nertc::kNERtcAudioProfileHighQualityStereo = 6
}
 
enum  nertc::NERtcAudioScenarioType { nertc::kNERtcAudioScenarioDefault = 0 , nertc::kNERtcAudioScenarioSpeech = 1 , nertc::kNERtcAudioScenarioMusic = 2 , nertc::kNERtcAudioScenarioChatroom = 3 }
 
enum  nertc::NERtcVoiceChangerType {
  nertc::kNERtcVoiceChangerOff = 0 , nertc::kNERtcVoiceChangerRobot = 1 , nertc::kNERtcVoiceChangerGaint = 2 , nertc::kNERtcVoiceChangerHorror = 3 ,
  nertc::kNERtcVoiceChangerMature = 4 , nertc::kNERtcVoiceChangerManToWoman = 5 , nertc::kNERtcVoiceChangerWomanToMan = 6 , nertc::kNERtcVoiceChangerManToLoli = 7 ,
  nertc::kNERtcVoiceChangerWomanToLoli = 8
}
 
enum  nertc::NERtcVoiceBeautifierType {
  nertc::kNERtcVoiceBeautifierOff = 0 , nertc::kNERtcVoiceBeautifierMuffled = 1 , nertc::kNERtcVoiceBeautifierMellow = 2 , nertc::kNERtcVoiceBeautifierClear = 3 ,
  nertc::kNERtcVoiceBeautifierMagnetic = 4 , nertc::kNERtcVoiceBeautifierRecordingstudio = 5 , nertc::kNERtcVoiceBeautifierNature = 6 , nertc::kNERtcVoiceBeautifierKTV = 7 ,
  nertc::kNERtcVoiceBeautifierRemote = 8 , nertc::kNERtcVoiceBeautifierChurch = 9 , nertc::kNERtcVoiceBeautifierBedroom = 10 , nertc::kNERtcVoiceBeautifierLive = 11
}
 
enum  nertc::NERtcVoiceEqualizationBand {
  nertc::kNERtcVoiceEqualizationBand_31 = 0 , nertc::kNERtcVoiceEqualizationBand_62 = 1 , nertc::kNERtcVoiceEqualizationBand_125 = 2 , nertc::kNERtcVoiceEqualizationBand_250 = 3 ,
  nertc::kNERtcVoiceEqualizationBand_500 = 4 , nertc::kNERtcVoiceEqualizationBand_1K = 5 , nertc::kNERtcVoiceEqualizationBand_2K = 6 , nertc::kNERtcVoiceEqualizationBand_4K = 7 ,
  nertc::kNERtcVoiceEqualizationBand_8K = 8 , nertc::kNERtcVoiceEqualizationBand_16K = 9
}
 
enum  nertc::NERtcCameraPreference { nertc::kNERtcCameraOutputDefault = 0 , nertc::kNERtcCameraOutputQuality = 1 , nertc::kNERtcCameraOutputManual = 2 }
 
enum  nertc::NERtcVideoProfileType {
  nertc::kNERtcVideoProfileLowest = 0 , nertc::kNERtcVideoProfileLow = 1 , nertc::kNERtcVideoProfileStandard = 2 , nertc::kNERtcVideoProfileHD720P = 3 ,
  nertc::kNERtcVideoProfileHD1080P = 4 , nertc::kNERtcVideoProfileNone = 5 , nertc::kNERtcVideoProfileMAX = kNERtcVideoProfileHD1080P , nertc::kNERtcVideoProfileFake = 6
}
 
enum  nertc::NERtcRemoteVideoStreamType { nertc::kNERtcRemoteVideoStreamTypeHigh = 0 , nertc::kNERtcRemoteVideoStreamTypeLow = 1 , nertc::kNERtcRemoteVideoStreamTypeNone = 2 }
 
enum  nertc::NERtcAudioDeviceType { nertc::kNERtcAudioDeviceUnknown = 0 , nertc::kNERtcAudioDeviceRecord , nertc::kNERtcAudioDevicePlayout }
 
enum  nertc::NERtcAudioDeviceState { nertc::kNERtcAudioDeviceActive = 0 , nertc::kNERtcAudioDeviceUnactive }
 
enum  nertc::NERtcAudioDeviceTransportType {
  nertc::kNERtcAudioDeviceTransportTypeUnknown = 0 , nertc::kNERtcAudioDeviceTransportTypeBluetooth = 1 , nertc::kNERtcAudioDeviceTransportTypeBluetoothA2DP = 2 , nertc::kNERtcAudioDeviceTransportTypeBluetoothLE = 3 ,
  nertc::kNERtcAudioDeviceTransportTypeUSB = 4 , nertc::kNERtcAudioDeviceTransportTypeHDMI = 5 , nertc::kNERtcAudioDeviceTransportTypeBuiltIn = 6 , nertc::kNERtcAudioDeviceTransportTypeThunderbolt = 7 ,
  nertc::kNERtcAudioDeviceTransportTypeAirPlay = 8 , nertc::kNERtcAudioDeviceTransportTypeVirtual = 9 , nertc::kNERtcAudioDeviceTransportTypeOther = 10
}
 
enum  nertc::NERtcVideoDeviceTransportType { nertc::kNERtcVideoDeviceTransportTypeUnknown = 0 , nertc::kNERtcVideoDeviceTransportTypeUSB = 1 , nertc::kNERtcVideoDeviceTransportTypeVirtual = 2 , nertc::kNERtcVideoDeviceTransportTypeOther = 3 }
 
enum  nertc::NERtcVideoDeviceType { nertc::kNERtcVideoDeviceUnknown = 0 , nertc::kNERtcVideoDeviceCapture }
 
enum  nertc::NERtcVideoDeviceState { nertc::kNERtcVideoDeviceAdded = 0 , nertc::kNERtcVideoDeviceRemoved }
 
enum  nertc::NERtcVideoScalingMode { nertc::kNERtcVideoScaleFit = 0 , nertc::kNERtcVideoScaleFullFill = 1 , nertc::kNERtcVideoScaleCropFill = 2 }
 
enum  nertc::NERtcVideoMirrorMode { nertc::kNERtcVideoMirrorModeAuto = 0 , nertc::kNERtcVideoMirrorModeEnabled = 1 , nertc::kNERtcVideoMirrorModeDisabled = 2 }
 
enum  nertc::NERtcVideoOutputOrientationMode { nertc::kNERtcVideoOutputOrientationModeAdaptative = 0 , nertc::kNERtcVideoOutputOrientationModeFixedLandscape = 1 , nertc::kNERtcVideoOutputOrientationModeFixedPortrait = 2 }
 
enum  nertc::NERtcConnectionStateType {
  nertc::kNERtcConnectionStateDisconnected = 1 , nertc::kNERtcConnectionStateConnecting = 2 , nertc::kNERtcConnectionStateConnected = 3 , nertc::kNERtcConnectionStateReconnecting = 4 ,
  nertc::kNERtcConnectionStateFailed = 5
}
 
enum  nertc::NERtcReasonConnectionChangedType {
  nertc::kNERtcReasonConnectionChangedLeaveChannel = 1 , nertc::kNERtcReasonConnectionChangedChannelClosed = 2 , nertc::kNERtcReasonConnectionChangedBeKicked = 3 , nertc::kNERtcReasonConnectionChangedTimeOut = 4 ,
  nertc::kNERtcReasonConnectionChangedJoinChannel = 5 , nertc::kNERtcReasonConnectionChangedJoinSucceed = 6 , nertc::kNERtcReasonConnectionChangedReJoinSucceed = 7 , nertc::kNERtcReasonConnectionChangedMediaConnectionDisconnected = 8 ,
  nertc::kNERtcReasonConnectionChangedSignalDisconnected = 9 , nertc::kNERtcReasonConnectionChangedRequestChannelFailed = 10 , nertc::kNERtcReasonConnectionChangedJoinChannelFailed = 11 , nertc::kNERtcReasonConnectionChangedReDispatch = 12 ,
  nertc::kNERtcReasonConnectionChangedSettingProxyServer = 13
}
 
enum  nertc::NERtcAudioStreamType { nertc::kNERtcAudioStreamTypeMain = 0 , nertc::kNERtcAudioStreamTypeSub = 1 }
 
enum  nertc::NERtcNetworkQualityType {
  nertc::kNERtcNetworkQualityUnknown = 0 , nertc::kNERtcNetworkQualityExcellent = 1 , nertc::kNERtcNetworkQualityGood = 2 , nertc::kNERtcNetworkQualityPoor = 3 ,
  nertc::kNERtcNetworkQualityBad = 4 , nertc::kNERtcNetworkQualityVeryBad = 5 , nertc::kNERtcNetworkQualityDown = 6
}
 
enum  nertc::NERtcVideoCropMode { nertc::kNERtcVideoCropModeDefault = 0 , nertc::kNERtcVideoCropMode16x9 = 1 , nertc::kNERtcVideoCropMode4x3 = 2 , nertc::kNERtcVideoCropMode1x1 = 3 }
 
enum  nertc::NERtcVideoFramerateType {
  nertc::kNERtcVideoFramerateFpsDefault = 0 , nertc::kNERtcVideoFramerateFps_7 = 7 , nertc::kNERtcVideoFramerateFps_10 = 10 , nertc::kNERtcVideoFramerateFps_15 = 15 ,
  nertc::kNERtcVideoFramerateFps_24 = 24 , nertc::kNERtcVideoFramerateFps_30 = 30 , nertc::kNERtcVideoFramerateFps_60 = 60
}
 
enum  nertc::NERtcDegradationPreference { nertc::kNERtcDegradationDefault = 0 , nertc::kNERtcDegradationMaintainFramerate = 1 , nertc::kNERtcDegradationMaintainQuality = 2 , nertc::kNERtcDegradationBalanced = 3 }
 
enum  nertc::NERtcScreenProfileType {
  nertc::kNERtcScreenProfile480P = 0 , nertc::kNERtcScreenProfileHD720P = 1 , nertc::kNERtcScreenProfileHD1080P = 2 , nertc::kNERtcScreenProfileCustom = 3 ,
  nertc::kNERtcScreenProfileNone = 4 , nertc::kNERtcScreenProfileMAX = kNERtcScreenProfileHD1080P
}
 
enum  nertc::NERtcScreenCaptureStatus {
  nertc::kNERtcScreenCaptureStatusStart = 1 , nertc::kNERtcScreenCaptureStatusPause = 2 , nertc::kNERtcScreenCaptureStatusResume = 3 , nertc::kNERtcScreenCaptureStatusStop = 4 ,
  nertc::kNERtcScreenCaptureStatusCovered = 5
}
 
enum  nertc::NERtcSubStreamContentPrefer { nertc::kNERtcSubStreamContentPreferMotion = 0 , nertc::kNERtcSubStreamContentPreferDetails = 1 }
 
enum  nertc::NERtcRecordType { nertc::kNERtcRecordTypeAll = 0 , nertc::kNERtcRecordTypeMix = 1 , nertc::kNERtcRecordTypeSingle = 2 }
 
enum  nertc::NERtcAudioType { nertc::kNERtcAudioTypePCM16 = 0 }
 
enum  nertc::NERtcRawAudioFrameOpModeType { nertc::kNERtcRawAudioFrameOpModeReadOnly = 0 , nertc::kNERtcRawAudioFrameOpModeReadWrite }
 
enum  nertc::NERtcAudioPayloadType { nertc::kNERtcAudioPayloadTypeOPUS = 111 }
 
enum  nertc::NERtcVideoType {
  nertc::kNERtcVideoTypeI420 = 0 , nertc::kNERtcVideoTypeNV12 = 1 , nertc::kNERtcVideoTypeNV21 = 2 , nertc::kNERtcVideoTypeBGRA = 3 ,
  nertc::kNERtcVideoTypeARGB = 4 , nertc::kNERtcVideoTypeCVPixelBuffer = 5
}
 
enum  nertc::NERtcVideoRotation { nertc::kNERtcVideoRotation_0 = 0 , nertc::kNERtcVideoRotation_90 = 90 , nertc::kNERtcVideoRotation_180 = 180 , nertc::kNERtcVideoRotation_270 = 270 }
 
enum  nertc::NertcVideoCodecType { nertc::kNERtcVideoCodecTypeH264 = 3 }
 
enum  nertc::NERtcNalFrameType { nertc::kNERtcNalFrameTypeIDR = 1 , nertc::kNERtcNalFrameTypeI = 2 , nertc::kNERtcNalFrameTypeP = 3 }
 
enum  nertc::NERtcSessionLeaveReason {
  nertc::kNERtcSessionLeaveNormal = 0 , nertc::kNERtcSessionLeaveForFailOver = 1 , nertc::kNERtcSessionLeaveUpdate = 2 , nertc::kNERtcSessionLeaveForKick = 3 ,
  nertc::kNERtcSessionLeaveTimeOut = 4
}
 
enum  nertc::NERtcAudioMixingState { nertc::kNERtcAudioMixingStateFinished = 0 , nertc::kNERtcAudioMixingStateFailed = 1 }
 
enum  nertc::NERtcVideoStreamType { nertc::kNERTCVideoStreamMain = 0 , nertc::kNERTCVideoStreamSub = 1 , nertc::kNERTCVideoStreamCount }
 
enum  nertc::NERtcChannelMediaRelayState { nertc::kNERtcChannelMediaRelayStateIdle = 0 , nertc::kNERtcChannelMediaRelayStateConnecting = 1 , nertc::kNERtcChannelMediaRelayStateRunning = 2 , nertc::kNERtcChannelMediaRelayStateFailure = 3 }
 
enum  nertc::NERtcChannelMediaRelayEvent {
  nertc::kNERtcChannelMediaRelayEventDisconnect = 0 , nertc::kNERtcChannelMediaRelayEventConnecting = 1 , nertc::kNERtcChannelMediaRelayEventConnected = 2 , nertc::kNERtcChannelMediaRelayEventVideoSentToDestChannelSuccess = 3 ,
  nertc::kNERtcChannelMediaRelayEventAudioSentToDestChannelSuccess = 4 , nertc::kNERtcChannelMediaRelayEventOtherStreamSentToDestChannelSuccess = 5 , nertc::kNERtcChannelMediaRelayEventFailure = 100
}
 
enum  nertc::NERtcLocalVideoWatermarkState {
  nertc::kNERtcLocalWatermarkStateSetSuccess , nertc::kNERtcLocalWatermarkStateDeviceNotSupported , nertc::kNERtcLocalWatermarkStateImgFormatNotSupported , nertc::kNERtcLocalWatermarkStateImgNumError ,
  nertc::kNERtcLocalWatermarkStateImgSizeError , nertc::kNERtcLocalWatermarkStateFPSError , nertc::kNERtcLocalWatermarkStateFontError , nertc::kNERtcLocalWatermarkStateWmAlphaError ,
  nertc::kNERtcLocalWatermarkStateTextContentEmptyError , nertc::kNERtcLocalWatermarkStateCancel = 20
}
 
enum  nertc::NERtcLogLevel {
  nertc::kNERtcLogLevelFatal = 0 , nertc::kNERtcLogLevelError = 1 , nertc::kNERtcLogLevelWarning = 2 , nertc::kNERtcLogLevelInfo = 3 ,
  nertc::kNERtcLogLevelDetailInfo = 4 , nertc::kNERtcLogLevelVerbos = 5 , nertc::kNERtcLogLevelDebug = 6 , nertc::kNERtcLogLevelOff = 7
}
 
enum  nertc::NERtcSendOnPubType { nertc::kNERtcSendOnPubNone = 0 , nertc::kNERtcSendOnPubHigh = 1 , nertc::kNERtcSendOnPubLow = 1 << 1 , nertc::kNERtcSendOnPubAll = kNERtcSendOnPubLow | kNERtcSendOnPubHigh }
 
enum  nertc::NERtcAudioRecordingQuality { nertc::kNERtcAudioRecordingQualityLow = 0 , nertc::kNERtcAudioRecordingQualityMedium = 1 , nertc::kNERtcAudioRecordingQualityHigh = 2 }
 
enum  nertc::NERtcAudioRecordingPosition { nertc::kNERtcAudioRecordingPositionMixedRecordingAndPlayback = 0 , nertc::kNERtcAudioRecordingPositionRecording = 1 , nertc::kNERtcAudioRecordingPositionMixedPlayback = 2 }
 
enum  nertc::NERtcAudioRecordingCycleTime {
  nertc::kNERtcAudioRecordingCycleTime0 = 0 , nertc::kNERtcAudioRecordingCycleTime10 = 10 , nertc::kNERtcAudioRecordingCycleTime60 = 60 , nertc::kNERtcAudioRecordingCycleTime360 = 360 ,
  nertc::kNERtcAudioRecordingCycleTime900 = 900
}
 
enum  nertc::NERtcAudioRecordingCode {
  nertc::kNERtcAudioRecordErrorSuffix = 1 , nertc::kNERtcAudioRecordOpenFileFailed = 2 , nertc::kNERtcAudioRecordStart = 3 , nertc::kNERtcAudioRecordError = 4 ,
  nertc::kNERtcAudioRecordFinish = 5
}
 
enum  nertc::NERtcStreamFallbackOption { nertc::kNERtcStreamFallbackDisabled = 0 , nertc::kNERtcStreamFallbackVideoStreamLow = 1 , nertc::kNERtcStreamFallbackAudioOnly = 2 }
 
enum  nertc::NERtcEncryptionMode { nertc::kNERtcGMCryptoSM4ECB = 0 }
 
enum  nertc::NERtcLastmileProbeResultState { nertc::kNERtcLastmileProbeResultComplete = 1 , nertc::kNERtcLastmileProbeResultIncompleteNoBwe = 2 , nertc::kNERtcLastmileProbeResultUnavailable = 3 }
 
enum  nertc::NERtcTransportType { nertc::kNERtcTransportTypeNoneProxy = 0 , nertc::kNERtcTransportTypeUDPProxy = 1 }
 
enum  nertc::NERtcInstallCastAudioDriverResult { nertc::kNERtcInstallCastAudioDriverSuccess = 0 , nertc::kNERtcInstallCastAudioDriverNotAuthorized = 1 , nertc::kNERtcInstallCastAudioDriverFailed = 2 }
 
enum  nertc::NERtcVirtualBackgroundSourceStateReason {
  nertc::kNERtcVirtualBackgroundSourceStateReasonSuccess = 0 , nertc::kNERtcVirtualBackgroundSourceStateReasonImageNotExist = 1 , nertc::kNERtcVirtualBackgroundSourceStateReasonImageFormatNotSupported = 2 , nertc::kNERtcVirtualBackgroundSourceStateReasonColorFormatNotSupported = 3 ,
  nertc::kNERtcVirtualBackgroundSourceStateReasonDeviceNotSupported = 4
}
 
enum  nertc::NERtcAudioDumpType { nertc::kNERtcAudioDumpTypePCM = 0 , nertc::kNERtcAudioDumpTypeAll = 1 , nertc::kNERtcAudioDumpTypeWAV = 2 }
 
enum  nertc::NERtcRangeAudioMode { nertc::kNERtcRangeAudioModeDefault = 0 , nertc::kNERtcRangeAudioModeTeam = 1 }
 
enum  nertc::NERtcMediaPubType { nertc::NERtcMediaPubTypeAudio }
 
enum  nertc::NERtcBeautyEffectType {
  nertc::kNERtcBeautyWhiteTeeth = 0 , nertc::kNERtcBeautyLightEye , nertc::kNERtcBeautyWhiten , nertc::kNERtcBeautySmooth ,
  nertc::kNERtcBeautySmallNose , nertc::kNERtcBeautyEyeDis , nertc::kNERtcBeautyEyeAngle , nertc::kNERtcBeautyMouth ,
  nertc::kNERtcBeautyBigEye , nertc::kNERtcBeautySmallFace , nertc::kNERtcBeautyJaw , nertc::kNERtcBeautyThinFace ,
  nertc::kNERtcBeautyFaceRuddy , nertc::kNERtcBeautyLongNose , nertc::kNERtcBeautyRenZhong , nertc::kNERtcBeautyMouthAngle ,
  nertc::kNERtcBeautyRoundEye , nertc::kNERtcBeautyOpenEyeAngle , nertc::kNERtcBeautyVFace , nertc::kNERtcBeautyThinUnderjaw ,
  nertc::kNERtcBeautyNarrowFace , nertc::kNERtcBeautyCheekBone , nertc::kNERtcBeautyFaceSharpen , nertc::kNERtcBeautyMouthWider ,
  nertc::kNERtcBeautyForeheadWrinkles , nertc::kNERtcBeautyDarkCircles , nertc::kNERtcBeautySmileLines , nertc::kNERtcBeautyShortFace
}
 
enum  nertc::NERtcSpatializerRoomCapacity {
  nertc::kNERtcSpatializerRoomCapacitySmall = 0 , nertc::kNERtcSpatializerRoomCapacityMedium = 1 , nertc::kNERtcSpatializerRoomCapacityLarge = 2 , nertc::kNERtcSpatializerRoomCapacityHuge = 3 ,
  nertc::kNERtcSpatializerRoomCapacityNone = 4
}
 
enum  nertc::NERtcSpatializerMaterialName {
  nertc::kNERtcSpatializerMaterialTransparent = 0 , nertc::kNERtcSpatializerMaterialAcousticCeilingTiles , nertc::kNERtcSpatializerMaterialBrickBare , nertc::kNERtcSpatializerMaterialBrickPainted ,
  nertc::kNERtcSpatializerMaterialConcreteBlockCoarse , nertc::kNERtcSpatializerMaterialConcreteBlockPainted , nertc::kNERtcSpatializerMaterialCurtainHeavy , nertc::kNERtcSpatializerMaterialFiberGlassInsulation ,
  nertc::kNERtcSpatializerMaterialGlassThin , nertc::kNERtcSpatializerMaterialGlassThick , nertc::kNERtcSpatializerMaterialGrass , nertc::kNERtcSpatializerMaterialLinoleumOnConcrete ,
  nertc::kNERtcSpatializerMaterialMarble , nertc::kNERtcSpatializerMaterialMetal , nertc::kNERtcSpatializerMaterialParquetOnConcrete , nertc::kNERtcSpatializerMaterialPlasterRough ,
  nertc::kNERtcSpatializerMaterialPlasterSmooth , nertc::kNERtcSpatializerMaterialPlywoodPanel , nertc::kNERtcSpatializerMaterialPolishedConcreteOrTile , nertc::kNERtcSpatializerMaterialSheetrock ,
  nertc::kNERtcSpatializerMaterialWaterOrIceSurface , nertc::kNERtcSpatializerMaterialWoodCeiling , nertc::kNERtcSpatializerMaterialWoodPanel , nertc::kNERtcSpatializerMaterialUniform
}
 
enum  nertc::NERtcSpatializerRenderMode {
  nertc::kNERtcSpatializerRenderStereoPanning = 0 , nertc::kNERtcSpatializerRenderBinauralLowQuality , nertc::kNERtcSpatializerRenderBinauralMediumQuality , nertc::kNERtcSpatializerRenderBinauralHighQuality ,
  nertc::kNERtcSpatializerRenderRoomEffectsOnly
}
 
enum  nertc::NERtcDistanceRolloffModel { nertc::kNERtcDistanceRolloffLogarithmic = 0 , nertc::kNERtcDistanceRolloffLinear , nertc::kNERtcDistanceRolloffNone }
 
enum  nertc::NERtcVoiceAuditStatus {
  nertc::kNERtcVoiceAuditUnkonwn = -1 , nertc::kNERtcVoiceAuditing = 0 , nertc::kNERtcVoiceAuditFinished = 1 , nertc::kNERtcVoiceAuditServerError = 2 ,
  nertc::kNERtcVoiceAuditUnactivated = 3
}
 
enum  nertc::NERtcAudioDeviceError {
  nertc::kNERtcAudioDeviceNoError = 0 , nertc::kNERtcAudioDeviceErrorInitRecording , nertc::kNERtcAudioDeviceErrorStartRecording , nertc::kNERtcAudioDeviceErrorStopRecording ,
  nertc::kNERtcAudioDeviceErrorInitPlayout , nertc::kNERtcAudioDeviceErrorStartPlayout , nertc::kNERtcAudioDeviceErrorStopplayout , nertc::kNERtcAudioDeviceErrorCaptureThreadStop ,
  nertc::kNERtcAudioDeviceErrorPlayoutThreadStop , nertc::kNERtcAudioDeviceErrorCaptureSampleRate , nertc::kNERtcAudioDeviceErrorPlayoutSampleRate , nertc::kNERtcAudioDeviceErrorConfigSession ,
  nertc::kNERtcAudioDeviceErrorCodeReporter
}
 
enum  nertc::NERtcVideoDeviceError { nertc::kNERtcVideoDeviceErrorNoFrame = 0 , nertc::kNERtcVideoDeviceErrorNotAvailableInBackground , nertc::kNERtcVideoDeviceErrorUsingByAnotherClient , nertc::kNERtcVideoDeviceErrorNotAvailableWithMultipleForegroundApps }
 
enum  nertc::NERtcAudioOutputRouting {
  nertc::kNERtcAudioOutputRoutingDefault = 0 , nertc::kNERtcAudioOutputRoutingHeadset , nertc::kNERtcAudioOutputRoutingEarpiece , nertc::kNERtcAudioOutputRoutingLoudspeaker ,
  nertc::kNERtcAudioOutputRoutingBluetooth
}
 
enum  nertc::NERtcNetworkType {
  nertc::kNERtcNetworkTypeUnknown = 0 , nertc::kNERtcNetworkTypeEthernet , nertc::kNERtcNetworkTypeWifi , nertc::kNERtcNetworkType2G ,
  nertc::kNERtcNetworkType3G , nertc::kNERtcNetworkType4G , nertc::kNERtcNetworkType5G , nertc::kNERtcNetworkTypeWWAN ,
  nertc::kNERtcNetworkTypeBluetooth , nertc::kNERtcNetworkTypeNone
}
 
enum  nertc::NERtcAudioSessionOperationRestriction { nertc::kNERtcAudioSessionOperationRestrictionNone = 0 , nertc::kNERtcAudioSessionOperationRestrictionAll , nertc::kNERtcAudioSessionOperationRestrictionDeactivateSession }
 
enum  nertc::NERtcAudioFocusMode {
  nertc::kNERtcAudioFocusOff = 0 , nertc::kNERtcAudioFocusGain = 1 , nertc::kNERtcAudioFocusGainTransient = 2 , nertc::kNERtcAudioFocusGainTransientMayDuck = 3 ,
  nertc::kNERtcAudioFocusGainTransientExclisive = 4
}
 
enum  nertc::NERtcCameraPosition { nertc::kNERtcCameraPositionBack = 0 , nertc::kNERtcCameraPositionFront }
 

宏定义说明

◆ kNERtcAudioDeviceAutoID

#define kNERtcAudioDeviceAutoID   "nertc-audio-device-auto"

音频设备自动选择ID,设置该ID为设备时,SDK会根据设备插拔系统设置等自动选择合适音频设备。

◆ kNERtcCustomInfoLength

#define kNERtcCustomInfoLength   128

自定义信息的长度

◆ kNERtcEncryptByteLength

#define kNERtcEncryptByteLength   128

加密key的长度

◆ kNERtcExternalVideoDeviceID

#define kNERtcExternalVideoDeviceID   "nertc-video-external-device"

外部视频输入源设备ID,开启外部输入之后,需要通过setDevice设置此设备ID。

◆ kNERtcKeyAudioAECLowLevelEnable

#define kNERtcKeyAudioAECLowLevelEnable   "audio_aec_low_level_enable"

bool value. low level AEC 开关,默认值 false,需要 kNERtcKeyAudioProcessingAECEnable 打开才生效。

◆ kNERtcKeyAudioDeviceAutoSelectType

#define kNERtcKeyAudioDeviceAutoSelectType   "audio_device_auto_select_type"

音频设备自动选择策略。int 类型。默认值为 0。

  • 0:优先选择默认设备。
  • 1:优先选择可用设备。

◆ kNERtcKeyAudioProcessingAECEnable

#define kNERtcKeyAudioProcessingAECEnable   "audio_processing_aec_enable"

bool value. AEC 开关,默认值 true。

◆ kNERtcKeyAudioProcessingAGCEnable

#define kNERtcKeyAudioProcessingAGCEnable   "audio_processing_agc_enable"

bool value. AGC 开关,默认值 true。

◆ kNERtcKeyAudioProcessingAINSEnable

#define kNERtcKeyAudioProcessingAINSEnable   "audio_processing_ai_ns_enable"

bool value. AI NS 开关,建议通话前修改,默认值 false。

◆ kNERtcKeyAudioProcessingEarphone

#define kNERtcKeyAudioProcessingEarphone   "audio_processing_earphone"

bool value. 通知 SDK 是否使用耳机, true: 使用耳机, false: 不使用耳机,默认值 false。

◆ kNERtcKeyAudioProcessingExternalAudioMixEnable

#define kNERtcKeyAudioProcessingExternalAudioMixEnable   "audio_processing_external_audiomix_enable"

bool value. 输入混音开关,默认值 false。

◆ kNERtcKeyAudioProcessingNSEnable

#define kNERtcKeyAudioProcessingNSEnable   "audio_processing_ns_enable"

bool value. NS 开关,默认值 true。

◆ kNERtcKeyAutoSubscribeAudio

#define kNERtcKeyAutoSubscribeAudio   "auto_subscribe_audio"

bool value,其他用户打开音频时,自动订阅。默认值 true。通话前设置有效。

◆ kNERtcKeyAutoSubscribeData

#define kNERtcKeyAutoSubscribeData   "auto_subscribe_data"

是否自动订阅其他用户的数据通道。
布尔值,默认为 NO,即非自动订阅。

注解
  • 请在加入房间前设置该参数,通话中设置无效。
  • 如果业务场景中使用 subscribeData 控制数据订阅,则该 Key 必须设置为 NO。

◆ kNERtcKeyAutoSubscribeVideo

#define kNERtcKeyAutoSubscribeVideo   "auto_subscribe_video"

是否订阅其他用户的视频流。
布尔值,默认值为 false。

注解
  • 订阅状态可以更改。远端用户重新发布推流视频,不影响本地用户的订阅状态;但远端用户退出房间重进后,本地恢复默认设置。
  • 该接口仅 windows 下有效。
  • 请在加入房间前设置该参数,通话中设置无效。

◆ kNERtcKeyChannel1V1ModeEnabled

#define kNERtcKeyChannel1V1ModeEnabled   "channel_1v1_mode_enabled"

bool value. 1v1 模式开关,默认关闭。通话前设置有效。

◆ kNERtcKeyDisableOverrideSpeakerOnReceiver

#define kNERtcKeyDisableOverrideSpeakerOnReceiver   "disable_override_speaker_on_receiver"

当系统切换听筒或扬声器时,SDK 是否以系统设置为准。仅iOS平台有效。
布尔值,默认为 false。

  • true: 以系统设置为准。例如当系统切换为听筒时,应用的音频播放则自动转为听筒,开发者需要自行处理该切换事件。
  • false: 以 SDK 设置为准,SDK 不允许用户通过系统变更音频播放路由为听筒或扬声器。例如当 SDK 设置为扬声器时,即使系统切换为听筒模式,SDK 也会自动将系统修改回扬声器模式。

◆ kNERtcKeyDisableSWAECOnHeadset

#define kNERtcKeyDisableSWAECOnHeadset   "disable_sw_aec_on_headset"

设置耳机时不使用软件回声消除功能,默认值 false。如设置YES 则SDK在耳机模式下不使用软件回声消除功能,会对某些机型下 耳机的音质效果有影响。仅iOS平台有效。

◆ kNERtcKeyDisableVideoDecoder

#define kNERtcKeyDisableVideoDecoder   "disable_video_decoder"

指定是否关闭视频解码器,默认不关闭(false)。 关闭(true)后 SDK 将不会解码远端视频,因此也不会渲染接收到的远端视频。 需要在初始化 IRtcEngine::initialize 前设置,释放 SDK 后失效。 一般配合 IRtcEngineEx::setPreDecodeObserver 使用。

自从
4.6.25

◆ kNERtcKeyEnableAudioASLManualSubscribe

#define kNERtcKeyEnableAudioASLManualSubscribe   "enable_audio_asl_manual_subscribe"

bool value,在ASL模式下手动订阅音频。默认值 false。通话前设置有效。

◆ kNERtcKeyEnableAudioBluetoothSCO

#define kNERtcKeyEnableAudioBluetoothSCO   "enable_audio_bluetooth_sco"

是否关闭蓝牙SCO.默认打开。仅Android平台有效。

◆ kNERtcKeyEnableDynamicToken

#define kNERtcKeyEnableDynamicToken   "enable_dynamic_token"

是否使用动态token加入通话。 布尔值,默认值为 false。

注解
默认不使用动态token,该功能需要在通话前调用
  • true:使用动态token。
  • false:不使用动态token。

◆ kNERtcKeyEnableReportVolumeWhenMute

#define kNERtcKeyEnableReportVolumeWhenMute   "enable_report_volume_when_mute"

本地用户静音时是否返回原始音量。 布尔值,默认值为 false。

  • true:返回 onLocalAudioVolumeIndication 中的原始音量。
  • false:返回 onLocalAudioVolumeIndication 中的录音音量,静音时为 0。

◆ kNERtcKeyEnableSnapshotWithFile

#define kNERtcKeyEnableSnapshotWithFile   "enable_snapshot_with_file"

调用TakeSnapshot截图时返回图片文件路径。默认值为false。

◆ kNERtcKeyEnableVideoCaptureObserver

#define kNERtcKeyEnableVideoCaptureObserver   "enable_video_capture_observer"

是否需要开启视频数据采集回调,开启后开发者可以获取到原始视频数据。
布尔值,默认值 NO。
开启后如果需要关闭,需要通过调用 destroyEngine 来清除。

◆ kNERtcKeyEnableVideoMirrorWithFrontCamera

#define kNERtcKeyEnableVideoMirrorWithFrontCamera   "enable_video_mirror_with_front_camera"

前置摄像头预览是否采用镜像模式。默认为 true,开启镜像模式。仅Android平台有效。

◆ kNERtcKeyExtraInfo

#define kNERtcKeyExtraInfo   "extra_info"

string value. APP 标识,用于后台识别用户产品名称。

◆ kNERtcKeyLogLevel

#define kNERtcKeyLogLevel   "log_level"

int value, NERtcLogLevel,SDK 输出小于或等于该级别的 log,默认为 kNERtcLogLevelInfo。

◆ kNERtcKeyPublishSelfStreamEnabled

#define kNERtcKeyPublishSelfStreamEnabled   "publish_self_stream_enabled"

bool value,开启旁路直播。默认值 false。通话前设置有效。

◆ kNERtcKeyRecordAudioEnabled

#define kNERtcKeyRecordAudioEnabled   "record_audio_enabled"

bool value,启用服务器音频录制。默认值 false。通话前设置有效。

◆ kNERtcKeyRecordHostEnabled

#define kNERtcKeyRecordHostEnabled   "record_host_enabled"

通过 JSON 配置 SDK 提供技术预览或特别定制功能。以标准化方式公开 JSON 选项。详见 API setParameters。 bool value. true: 录制主讲人, false: 不是录制主讲人。通话前设置有效。

◆ kNERtcKeyRecordType

#define kNERtcKeyRecordType   "record_type"

int value, NERtcRecordType。通话前设置有效。

◆ kNERtcKeyRecordVideoEnabled

#define kNERtcKeyRecordVideoEnabled   "record_video_enabled"

bool value,启用服务器视频录制。默认值 false。通话前设置有效。

◆ kNERtcKeyVideoCameraType

#define kNERtcKeyVideoCameraType   "video_camera_type"

摄像头类型。默认值为1.取值范围为0(unknown), 1, 2.仅Android平台有效。

◆ kNERtcKeyVideoPreferHWDecode

#define kNERtcKeyVideoPreferHWDecode   "video_prefer_hw_decode"

是否优先使用硬件解码视频数据。
布尔值,默认值 true。
请在初始化(setupEngineWithContext)之前设置该参数,否则该参数会在下次初始化之后生效。

◆ kNERtcKeyVideoPreferHWEncode

#define kNERtcKeyVideoPreferHWEncode   "video_prefer_hw_encode"

是否优先使用硬件编码视频数据。
布尔值,默认值 YES。
请在初始化(setupEngineWithContext)之前设置该参数,否则该参数会在下次初始化之后生效。

◆ kNERtcKeyVideoPreferMetalRender

#define kNERtcKeyVideoPreferMetalRender   "video_prefer_metal_render"

是否优先使用 Metal 渲染。
布尔值,默认值 false,即使用OpenGL 渲染。仅iOS平台有效。

◆ kNERtcKeyVideoRenderType

#define kNERtcKeyVideoRenderType   "sdk.prefer.video.render"

切换SDK内部渲染模式
int,默认值0。

  • 0:选择默认渲染(win:d3d,Mac:metal)。
  • 1:Mac下使用OpenGL。
  • 2:Mac下使用Metal。
  • 3:windows下使用SDL2。

◆ kNERtcKeyVideoSendOnPubType

#define kNERtcKeyVideoSendOnPubType   "video_sendonpub_type"

int value. NERtcSendOnPubType;设置视频发送策略,默认发送大流 kNERtcSendOnPubHigh。通话前设置有效。

◆ kNERtcKeyVideoStartWithBackCamera

#define kNERtcKeyVideoStartWithBackCamera   "video_start_with_back_camera"

第一次开启摄像头时,是否使用后摄像头。仅iOS平台有效。
布尔值,默认值 false,即不使用后置摄像头。

◆ kNERtcMaxBuffLength

#define kNERtcMaxBuffLength   1024

字符串缓存区最大长度。

◆ kNERtcMaxChannelNameLength

#define kNERtcMaxChannelNameLength   128

房间ID最大长度

◆ kNERtcMaxDeviceIDLength

#define kNERtcMaxDeviceIDLength   256

设备ID最大长度。

◆ kNERtcMaxDeviceNameLength

#define kNERtcMaxDeviceNameLength   256

设备名最大长度。

◆ kNERtcMaxPlaneCount

#define kNERtcMaxPlaneCount   4

Video max plane count.

◆ kNERtcMaxSEIBufferLength

#define kNERtcMaxSEIBufferLength   4096

直播推流中用到的SEI信息最大长度,单位:字节

◆ kNERtcMaxTaskIDLength

#define kNERtcMaxTaskIDLength   64

任务ID最大长度。

◆ kNERtcMaxTokenLength

#define kNERtcMaxTokenLength   256

token最大长度

◆ kNERtcMaxURILength

#define kNERtcMaxURILength   256

URI最大长度。