NERtc iOS SDK  V4.4.301
枚举
NERtcEngineEnum.h 文件参考
#import <Foundation/Foundation.h>

浏览源代码.

枚举

enum  NERtcConnectionStateType {
  kNERtcConnectionStateUnknown = 0 , kNERtcConnectionStateDisconnected = 1 , kNERtcConnectionStateConnecting = 2 , kNERtcConnectionStateConnected = 3 ,
  kNERtcConnectionStateReconnecting = 4 , kNERtcConnectionStateFailed = 5
}
 The connection status of the current engine 更多...
 
enum  NERtcSessionLeaveReason {
  kNERtcSessionLeaveNormal = 0 , kNERtcSessionLeaveForFailOver = 1 , kNERTCSessionLeaveForUpdate = 2 , kNERtcSessionLeaveForKick = 3 ,
  kNERtcSessionLeaveTimeout = 4
}
 The reasons why the user leaves the room. 更多...
 
enum  NERtcClientRole { kNERtcClientRoleBroadcaster = 0 , kNERtcClientRoleAudience = 1 }
 User role 更多...
 
enum  NERtcReasonConnectionChangedType {
  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
}
 The reason why the connection status of the engine connection changes. 更多...
 
enum  NERtcVideoProfileType {
  kNERtcVideoProfileLowest = 0 , kNERtcVideoProfileLow = 1 , kNERtcVideoProfileStandard = 2 , kNERtcVideoProfileHD720P = 3 ,
  kNERtcVideoProfileHD1080P = 4 , kNERtcVideoProfileMAX = kNERtcVideoProfileHD1080P , kNERtcVideoProfileFake = 5
}
 Video profile type 更多...
 
enum  NERtcVideoFrameRate {
  kNERtcVideoFrameRateFpsDefault = 0 , kNERtcVideoFrameRateFps7 = 7 , kNERtcVideoFrameRateFps10 = 10 , kNERtcVideoFrameRateFps15 = 15 ,
  kNERtcVideoFrameRateFps24 = 24 , kNERtcVideoFrameRateFps30 = 30 , kNERtcVideoFrameRateFps60 = 60
}
 Video frame rate -kNERtcVideoFrameRateFpsDefault: By default, the bigstream video frame rate is selected based on maxProfile, and substream video frame rate is set to kNERtcVideoFrameRateFps7. 更多...
 
enum  NERtcDegradationPreference { kNERtcDegradationDefault = 0 , kNERtcDegradationMaintainFramerate , kNERtcDegradationMaintainQuality , kNERtcDegradationBalanced }
 Video encoding adaptation preference with limited bandwidth. 更多...
 
enum  NERtcSubStreamContentPrefer { kNERtcSubStreamContentPreferMotion = 0 , kNERtcSubStreamContentPreferDetails }
 Encoding strategy preference for screen sharing 更多...
 
enum  NERtcRemoteVideoStreamType { kNERtcRemoteVideoStreamTypeHigh , kNERtcRemoteVideoStreamTypeLow }
 The type of the remote video stream 更多...
 
enum  NERtcVideoPubMode { kNERtcVideoSendOnPubWithNone = 0 , kNERtcVideoSendOnPubWithHigh , kNERtcVideoSendOnPubWithLow , kNERtcVideoSendOnPubWithAll }
 Video publishing mode 更多...
 
enum  NERtcVideoRenderScaleMode { kNERtcVideoRenderScaleFit = 0 , kNERtcVideoRenderScaleFullFill = 1 , kNERtcVideoRenderScaleCropFill = 2 }
 Video rendering zoom mode 更多...
 
enum  NERtcVideoRotationMode { NERtcVideoRotationModeBySystem = 0 , NERtcVideoRotationModeByApp = 1 }
 Video rotation Mode. 更多...
 
enum  NERtcVideoMirrorMode { kNERtcVideoMirrorModeAuto = 0 , kNERtcVideoMirrorModeEnabled = 1 , kNERtcVideoMirrorModeDisabled = 2 }
 Video mirror mode. 更多...
 
enum  NERtcVideoOutputOrientationMode { kNERtcVideoOutputOrientationModeAdaptative = 0 , kNERtcVideoOutputOrientationModeFixedLandscape = 1 , kNERtcVideoOutputOrientationModeFixedPortrait = 2 }
 Video orientation mode. 更多...
 
enum  NERtcVideoCropMode { kNERtcVideoCropDefault , kNERtcVideoCropMode16_9 , kNERtcVideoCropMode4_3 , kNERtcVideoCropMode1_1 }
 Video crop mode 更多...
 
enum  NERtcRenderType { kNERtcRenderDefault = 0 , kNERtcRenderOpenGL , kNERtcRenderMetal }
 Video rendering type. 更多...
 
enum  NERtcVideoRotationType { kNERtcVideoRotation_0 = 0 , kNERtcVideoRotation_90 = 90 , kNERtcVideoRotation_180 = 180 , kNERtcVideoRotation_270 = 270 }
 Rotation direction of video data 更多...
 
enum  NERtcVideoFormatType { kNERtcVideoFormatI420 = 0 , kNERtcVideoFormatNV12 , kNERtcVideoFormatBGRA }
 Video format type 更多...
 
enum  NERtcStreamChannelType { kNERtcStreamChannelTypeMainStream = 0 , kNERtcStreamChannelTypeSubStream }
 Stream type for sending SEI 更多...
 
enum  NERtcAudioOutputRouting {
  kNERtcAudioOutputRoutingDefault = 0 , kNERtcAudioOutputRoutingHeadset , kNERtcAudioOutputRoutingEarpiece , kNERtcAudioOutputRoutingLoudspeaker ,
  kNERtcAudioOutputRoutingBluetooth
}
 Audio route 更多...
 
enum  NERtcAudioProfileType {
  kNERtcAudioProfileDefault = 0 , kNERtcAudioProfileStandard , kNERtcAudioProfileStandardExtend , kNERtcAudioProfileMiddleQuality ,
  kNERtcAudioProfileMiddleQualityStereo , kNERtcAudioProfileHighQuality , kNERtcAudioProfileHighQualityStereo
}
 Summary of audio quality capabilities Audio profile: sample rate, bitrate, encoding mode, and the number of channels. 更多...
 
enum  NERtcAudioScenarioType { kNERtcAudioScenarioDefault = 0 , kNERtcAudioScenarioSpeech , kNERtcAudioScenarioMusic , kNERtcAudioScenarioChatRoom }
 Audio scenarios Different audio scenarios use different audio capture modes (mobile platforms) and playback modes. 更多...
 
enum  NERtcChannelProfileType { kNERtcChannelProfileCommunication = 0 , kNERtcChannelProfileLiveBroadcasting }
 Sets a room scene. 更多...
 
enum  NERtcAudioSessionOperationRestriction { kNERtcAudioSessionOperationRestrictionNone = 0 , kNERtcAudioSessionOperationRestrictionAll , kNERtcAudioSessionOperationRestrictionDeactivateSession }
 Audio session control permissions The SDK has the permissions of Audio Session 更多...
 
enum  NERtcMediaPriorityType { kNERtcMediaPriorityHigh = 50 , kNERtcMediaPriorityNormal = 100 }
 
enum  NERtcStreamFallbackOptions { kNERtcStreamFallbackOptionDisabled = 0 , kNERtcStreamFallbackOptionVideoStreamLow = 1 , kNERtcStreamFallbackOptionAudioOnly = 2 }
 
enum  NERtcAudioRecordingQuality { kNERtcAudioRecordingQualityLow = 0 , kNERtcAudioRecordingQualityMedium = 1 , kNERtcAudioRecordingQualityHigh = 2 }
 Recording sound quality 更多...
 
enum  NERtcAudioRecordingCode {
  NERtcAudioRecordingCodeErrorSuffix = 1 , kNERtcAudioRecordingOpenFileFailed = 2 , kNERtcAudioRecordingCodeStart = 3 , kNERtcAudioRecordingRecordError = 4 ,
  kNERtcAudioRecordingCodeFinish = 5
}
 The status code of recording callbacks 更多...
 
enum  NERtcAudioEqualizationBandFrequency {
  NERtcAudioEqualizationBand31 = 0 , NERtcAudioEqualizationBand62 = 1 , NERtcAudioEqualizationBand125 = 2 , NERtcAudioEqualizationBand250 = 3 ,
  NERtcAudioEqualizationBand500 = 4 , NERtcAudioEqualizationBand1K = 5 , NERtcAudioEqualizationBand2K = 6 , NERtcAudioEqualizationBand4K = 7 ,
  NERtcAudioEqualizationBand8K = 8 , NERtcAudioEqualizationBand16K = 9
}
 The preset value of the spectrum subband index. 更多...
 
enum  NERtcVoiceChangerType {
  kNERtcVoiceChangerOff = 0 , kNERtcVoiceChangerRobot , kNERtcVoiceChangerGaint , kNERtcVoiceChangerHorror ,
  kNERtcVoiceChangerMature , kNERtcVoiceChangerManToWoman , kNERtcVoiceChangerWomanToMan , kNERtcVoiceChangerManToLoli ,
  kNERtcVoiceChangerWomanToLoli
}
 The preset value of the voice changer 更多...
 
enum  NERtcVoiceBeautifierType {
  kNERtcVoiceBeautifierOff = 0 , kNERtcVoiceBeautifierMuffled , kNERtcVoiceBeautifierMellow , kNERtcVoiceBeautifierClear ,
  kNERtcVoiceBeautifierMagnetic , kNERtcVoiceBeautifierRecordingStudio , kNERtcVoiceBeautifierNature , kNERtcVoiceBeautifierKTV ,
  kNERtcVoiceBeautifierRemote , kNERtcVoiceBeautifierChurch , kNERtcVoiceBeautifierBedroom , kNERtcVoiceBeautifierLive
}
 The preset value of the voice beautifier 更多...
 
enum  NERtcRecordType { kNERtcRecordTypeAll = 0 , kNERtcRecordTypeMix = 1 , kNERtcRecordTypeSingle = 2 }
 The cloud recording mode that records streams published from the local client. 更多...
 
enum  NERtcAudioMixingState { kNERtcAudioMixingStateFinished = 0 , kNERtcAudioMixingStateFailed }
 The status of the audio mixing task 更多...
 
enum  NERtcAudioMixingErrorCode {
  kNERtcAudioMixingErrorOK = 0 , kNERtcAudioMixingErrorFatal , kNERtcAudioMixingErrorCanNotOpen , kNERtcAudioMixingErrorDecode ,
  kNERtcAudioMixingErrorInterrupt , kNERtcAudioMixingErrorHttpNotFound , kNERtcAudioMixingErrorOpen , kNERtcAudioMixingErrorNInfo ,
  kNERtcAudioMixingErrorNStream , kNERtcAudioMixingErrorNCodec , kNERtcAudioMixingErrorNMem , kNERtcAudioMixingErrorCodecOpen ,
  kNERtcAudioMixingErrorInvalidInfo , kNERtcAudioMixingErrorOpenTimeout , kNERtcAudioMixingErrorIoTimeout , kNERtcAudioMixingErrorIo
}
 Mixing audio error code 更多...
 
enum  NERtcNetworkConnectionType {
  kNERtcNetworkConnectionTypeNone , kNERtcNetworkConnectionTypeUnknown , kNERtcNetworkConnectionType2G , kNERtcNetworkConnectionType3G ,
  kNERtcNetworkConnectionType4G , kNERtcNetworkConnectionType5G , kNERtcNetworkConnectionTypeWiFi , kNERtcNetworkConnectionTypeWWAN
}
 Type of network connection 更多...
 
enum  NERtcLiveStreamAudioSampleRate { kNERtcLiveStreamAudioSampleRate32000 = 32000 , kNERtcLiveStreamAudioSampleRate44100 = 44100 , kNERtcLiveStreamAudioSampleRate48000 = 48000 }
 Live streaming audio sample rate 更多...
 
enum  NERtcLiveStreamAudioCodecProfile { kNERtcLiveStreamAudioCodecProfileLCAAC = 0 , kNERtcLiveStreamAudioCodecProfileHEAAC = 1 }
 Live streaming audio codec profile 更多...
 
enum  NERtcLiveStreamMode { kNERtcLsModeVideo = 0 , kNERtcLsModeAudio }
 Streaming mode in live streaming 更多...
 
enum  NERtcLiveStreamVideoScaleMode { kNERtcLsModeVideoScaleFit = 0 , kNERtcLsModeVideoScaleCropFill }
 Scale mode in live streaming 更多...
 
enum  NERtcLiveStreamStateCode { kNERtcLsStatePushing = 505 , kNERtcLsStatePushFail = 506 , kNERtcLsStatePushStopped = 511 }
 Live streaming status code 更多...
 
enum  NERtcAudioType { kNERtcAudioTypePCM16 = 0 }
 Audio type 更多...
 
enum  NERtcAudioFrameOpMode { kNERtcAudioFrameOpModeReadOnly = 0 , kNERtcAudioFrameOpModeReadWrite = 1 }
 Audio data read and write mode 更多...
 
enum  NERtcAudioDeviceType { kNERtcAudioDeviceTypeUnknown = 0 , kNERtcAudioDeviceTypeRecord , kNERtcAudioDeviceTypePlayout }
 Audio device type 更多...
 
enum  NERtcVideoDeviceType { kNERtcVideoDeviceTypeUnknown = 0 , kNERtcVideoDeviceTypeCapture }
 Video device type 更多...
 
enum  NERtcAudioDeviceState { kNERtcAudioDeviceStateInitialized = 0 , kNERtcAudioDeviceStateStarted , kNERtcAudioDeviceStateStoped , kNERtcAudioDeviceStateUnInitialized }
 Audio device state 更多...
 
enum  NERtcVideoDeviceState { kNERtcVideoDeviceStateInitialized = 0 , kNERtcVideoDeviceStateStarted , kNERtcVideoDeviceStateStoped , kNERtcVideoDeviceStateUnInitialized }
 The video device status is unlimited, and the SDK has full control over the Audio Session. 更多...
 
enum  NERtcNetworkQuality {
  kNERtcNetworkQualityUnknown = 0 , kNERtcNetworkQualityExcellent , kNERtcNetworkQualityGood , kNERtcNetworkQualityPoor ,
  kNERtcNetworkQualityBad , kNERtcNetworkQualityVeryBad , kNERtcNetworkQualityDown
}
 Network quality 更多...
 
enum  NERtcChannelMediaRelayState { NERtcChannelMediaRelayStateIdle = 0 , NERtcChannelMediaRelayStateConnecting = 1 , NERtcChannelMediaRelayStateRunning = 2 , NERtcChannelMediaRelayStateFailure = 3 }
 / State during media stream relay. 更多...
 
enum  NERtcChannelMediaRelayEvent {
  NERtcChannelMediaRelayEventDisconnect = 0 , NERtcChannelMediaRelayEventConnecting = 1 , NERtcChannelMediaRelayEventConnected = 2 , NERtcChannelMediaRelayEventVideoSentToDestChannelSuccess = 3 ,
  NERtcChannelMediaRelayEventAudioSentToDestChannelSuccess = 4 , NERtcChannelMediaRelayEventOtherStreamSentToDestChannelSuccess = 5 , NERtcChannelMediaRelayEventFailure = 100
}
 Events related to the media stream relay. 更多...
 
enum  NERtcEncryptionMode { NERtcEncryptionModeGMCryptoSM4ECB }
 Encryption mode 更多...
 
enum  NERtcTransportType { NERtcTransportTypeNoneProxy = 0 , NERtcTransportTypeUDPProxy }
 云代理模式。 更多...
 
enum  NERtcLogLevel {
  kNERtcLogLevelFatal = 0 , kNERtcLogLevelError = 1 , kNERtcLogLevelWarning = 2 , kNERtcLogLevelInfo = 3 ,
  kNERtcLogLevelDetailInfo = 4 , kNERtcLogLevelDebug = 5 , kNERtcLogLevelVerbose = 6 , kNERtcLogLevelOff = 7
}
 Log level 更多...
 

枚举类型说明

◆ NERtcAudioDeviceState

Audio device state

枚举值
kNERtcAudioDeviceStateInitialized 

The audio device is initialized.

kNERtcAudioDeviceStateStarted 

The audio device is started.

kNERtcAudioDeviceStateStoped 

The audio device is stopped.

kNERtcAudioDeviceStateUnInitialized 

The audio device is uninitialized.

◆ NERtcAudioDeviceType

Audio device type

枚举值
kNERtcAudioDeviceTypeUnknown 

Unknown device

kNERtcAudioDeviceTypeRecord 

Audio capture device

kNERtcAudioDeviceTypePlayout 

Audio playback device

◆ NERtcAudioEqualizationBandFrequency

The preset value of the spectrum subband index.

枚举值
NERtcAudioEqualizationBand31 

0: 31 Hz.

NERtcAudioEqualizationBand62 

1: 62 Hz.

NERtcAudioEqualizationBand125 

2: 125 Hz.

NERtcAudioEqualizationBand250 

3: 250 Hz.

NERtcAudioEqualizationBand500 

4: 500 Hz.

NERtcAudioEqualizationBand1K 

5: 1 kHz.

NERtcAudioEqualizationBand2K 

6: 2 kHz.

NERtcAudioEqualizationBand4K 

7: 4 kHz.

NERtcAudioEqualizationBand8K 

8: 8 kHz.

NERtcAudioEqualizationBand16K 

9: 16 kHz.

◆ NERtcAudioFrameOpMode

Audio data read and write mode

枚举值
kNERtcAudioFrameOpModeReadOnly 

Read-only mode.

The user only retrieves the original audio data from AudioFrame. For example, if the user collects data through the SDK and publishes RTMP/RTMPS streams, this mode can be selected.

kNERtcAudioFrameOpModeReadWrite 

Read and write mode.

The user obtains and modifies the data from AudioFrame, and returns the data to the SDK for encoding and transmission. For example, if the user has a sound effect processing module and wants to pre-process the data based on the requirements such as voice change, you can select this mode.

◆ NERtcAudioMixingErrorCode

Mixing audio error code

枚举值
kNERtcAudioMixingErrorOK 

Normal mixing audio

kNERtcAudioMixingErrorFatal 

A fatal error occurs.

kNERtcAudioMixingErrorCanNotOpen 

The mixing audio file cannot be opened normally

kNERtcAudioMixingErrorDecode 

Audio decoding error

kNERtcAudioMixingErrorInterrupt 

Operation interruption code

kNERtcAudioMixingErrorHttpNotFound 

404 file not found, only for http/https

kNERtcAudioMixingErrorOpen 

Fails to open stream/file

kNERtcAudioMixingErrorNInfo 

Fails to retrieve decoding information/timeout

kNERtcAudioMixingErrorNStream 

No audio stream

kNERtcAudioMixingErrorNCodec 

No decoder

kNERtcAudioMixingErrorNMem 

No memory

kNERtcAudioMixingErrorCodecOpen 

Decoder fails to open/timed out

kNERtcAudioMixingErrorInvalidInfo 

Invalid audio parameters (channels and sample rate)

kNERtcAudioMixingErrorOpenTimeout 

Opening stream/file timeout

kNERtcAudioMixingErrorIoTimeout 

Network I/O timeout

kNERtcAudioMixingErrorIo 

Network I/O error

◆ NERtcAudioMixingState

The status of the audio mixing task

枚举值
kNERtcAudioMixingStateFinished 

The music file ends normally.

kNERtcAudioMixingStateFailed 

The playback of the music file fails.

◆ NERtcAudioOutputRouting

Audio route

枚举值
kNERtcAudioOutputRoutingDefault 

System default

kNERtcAudioOutputRoutingHeadset 

Headset

kNERtcAudioOutputRoutingEarpiece 

Earpiece

kNERtcAudioOutputRoutingLoudspeaker 

Speakerphone

kNERtcAudioOutputRoutingBluetooth 

Bluetooth device

◆ NERtcAudioProfileType

Summary of audio quality capabilities Audio profile: sample rate, bitrate, encoding mode, and the number of channels.

枚举值
kNERtcAudioProfileDefault 

Default setting.

STANDARD is selected for voice scenarios. HIGH_QUALITY is selected for music scenarios.

kNERtcAudioProfileStandard 

Standard sound quality mode.

Sample rate: 16 kHz, voice encoding, mono, and maximum bitrate: 20 kbps.

kNERtcAudioProfileStandardExtend 

Standard extended mode.

Sample rate: 16 kHz, voice encoding, mono, and maximum bitrate: 32 kbps.

kNERtcAudioProfileMiddleQuality 

Medium sound quality mode.

Sample rate: 48 kHz, music encoding, mono, and maximum bitrate: 32 kbps.

kNERtcAudioProfileMiddleQualityStereo 

Medium sound quality mode (stereo).

Sample rate: 48 kHz, music encoding, stereo, and maximum bitrate: 64 kbps.

kNERtcAudioProfileHighQuality 

High sound quality mode.

Sample rate: 48 kHz, music encoding, mono, and maximum bitrate: 64 kbps.

kNERtcAudioProfileHighQualityStereo 

High sound quality mode (stereo).

Sample rate: 48 kHz, music encoding, stereo, and maximum bitrate: 128 kbps.

◆ NERtcAudioRecordingCode

The status code of recording callbacks

枚举值
NERtcAudioRecordingCodeErrorSuffix 

Unsupported recording file format.

kNERtcAudioRecordingOpenFileFailed 

Unable to create a recording file.

Possible reasons:

  • The application does not have write permissions.
  • The file path does not exist.
kNERtcAudioRecordingCodeStart 

Start recording.

kNERtcAudioRecordingRecordError 

Recording error.

The typical reason is that the disk space is full and cannot be written.

kNERtcAudioRecordingCodeFinish 

Recording is complete.

◆ NERtcAudioRecordingQuality

Recording sound quality

枚举值
kNERtcAudioRecordingQualityLow 

Low quality

kNERtcAudioRecordingQualityMedium 

(default) medium quality

kNERtcAudioRecordingQualityHigh 

High sound quality

◆ NERtcAudioScenarioType

Audio scenarios Different audio scenarios use different audio capture modes (mobile platforms) and playback modes.

  • kNERtcAudioScenarioDefault: The default setting is kNERtcAudioScenarioSpeech
  • kNERtcAudioScenarioSpeech: Voice scenarios. Set NERtcAudioProfileType to kNERtcAudioProfileMiddleQuality or lower.
  • kNERtcAudioScenarioMusic: Music scenarios. Set NERtcAudioProfileType to kNERtcAudioProfileMiddleQualityStereo or above
  • kNERtcAudioScenarioChatRoom: Chat room scenarios. Set NERtcAudioProfileType to kNERtcAudioProfileMiddleQualityStereo or above
枚举值
kNERtcAudioScenarioDefault 

The default audio scenario (voice).

kNERtcAudioScenarioSpeech 

Voice

kNERtcAudioScenarioMusic 

Music

kNERtcAudioScenarioChatRoom 

Chat room

◆ NERtcAudioSessionOperationRestriction

Audio session control permissions The SDK has the permissions of Audio Session

枚举值
kNERtcAudioSessionOperationRestrictionNone 

The SDK has full permissions and can control the Audio Session

kNERtcAudioSessionOperationRestrictionAll 

If you restrict the SDK to perform operations on the Audio Session, the SDK cannot configure the Audio Session

kNERtcAudioSessionOperationRestrictionDeactivateSession 

When a user leaves the room, the SDK will keep the Audio Session active.

◆ NERtcAudioType

Audio type

  • kNERtcAudioTypePCM16: PCM16
枚举值
kNERtcAudioTypePCM16 

PCM 16.

◆ NERtcChannelMediaRelayEvent

Events related to the media stream relay.

枚举值
NERtcChannelMediaRelayEventDisconnect 

Stops media stream relay across rooms.

NERtcChannelMediaRelayEventConnecting 

The SDK is connecting to the server and is trying to relay the media stream.

NERtcChannelMediaRelayEventConnected 

The SDK has connected to the server successfully.

NERtcChannelMediaRelayEventVideoSentToDestChannelSuccess 

The video stream is relayed to the destination room.

NERtcChannelMediaRelayEventAudioSentToDestChannelSuccess 

The audio stream is relayed to the destination room.

NERtcChannelMediaRelayEventOtherStreamSentToDestChannelSuccess 

Other media streams such as screen sharing are relayed to the destination room.

NERtcChannelMediaRelayEventFailure 

Fails to relay media streams.

Reasons:

  • kNERtcErrChannelReserveErrorParam(414): Invalid request parameters.
  • kNERtcErrChannelMediaRelayInvalidState(30110): Repeatedly call startChannelMediaRelay.
  • kNERtcErrChannelMediaRelayPermissionDenied(30111): No permissions to relay the media stream. For example, media stream relay is not allowed if the host calls startChannelMediaRelay, or the room hosts for one-to-one calls.
  • kNERtcErrChannelMediaRelayStopFailed(30112): startChannelMediaRelay is not called before stopChannelMediaRelay.

◆ NERtcChannelMediaRelayState

/ State during media stream relay.

枚举值
NERtcChannelMediaRelayStateIdle 

Initial state.

After successfully calling stopChannelMediaRelay to stop the media stream forwarding across rooms, onNERtcEngineChannelMediaRelayStateDidChange will call back this state.

NERtcChannelMediaRelayStateConnecting 

The SDK tries to relay media streams across rooms.

NERtcChannelMediaRelayStateRunning 

The host in the source room successfully joined the destination room.

NERtcChannelMediaRelayStateFailure 

An exception occurs.

For more information about error messages, see onNERtcEngineDidReceiveChannelMediaRelayEvent.

◆ NERtcChannelProfileType

Sets a room scene.

枚举值
kNERtcChannelProfileCommunication 

(default) communications.

In this scenario, all users in the room can publish and receive audio and video streams. The setting is suitable for scenarios such as audio calls and group video calls.

kNERtcChannelProfileLiveBroadcasting 

Live streaming.

This scenario has two user roles: host and audience, which can be set through setClientRole. The host can publish and receive audio and video streams, and the audience can receive the streams. The setting is suitable for scenarios such as chat rooms, live streaming, and interactive remote learning for large classes.

◆ NERtcClientRole

User role

枚举值
kNERtcClientRoleBroadcaster 

The role of host in live streaming mode.

The host has the permissions to open or close audio and video devices such as a camera, publish streams, and configure streaming tasks in interactive live streaming. The status of the host is visible to the users in the room when the host joins or leaves the room.

kNERtcClientRoleAudience 

The role of audience in live streaming mode.

The audiences can only receive audio and video streams, and cannot operate audio and video devices or configure streaming tasks in interactive live streaming. Other members are not notified when the audience joins or leaves the room. The status of an audience is invisible to the users in the room when the audience joins or leaves the room.

◆ NERtcConnectionStateType

The connection status of the current engine

枚举值
kNERtcConnectionStateUnknown 

The engine is not initialized.

kNERtcConnectionStateDisconnected 

No user joins the room.

kNERtcConnectionStateConnecting 

A user is joining the room.

kNERtcConnectionStateConnected 

A user successfully joined the room.

kNERtcConnectionStateReconnecting 

A user is rejoining the room.

kNERtcConnectionStateFailed 

A user fails to join the room.

◆ NERtcDegradationPreference

Video encoding adaptation preference with limited bandwidth.

  • kNERtcDegradationDefault: For communications (kNERtcChannelProfileCommunication), use Balanced. For live streaming (kNERtcChannelProfileLiveBroadcasting), use MaintainQuality
  • kNERtcDegradationMaintainFramerate: Reduce the resolution to ensure the frame rate.
  • kNERtcDegradationMaintainQuality: Reduce the frame rate to ensure the resolution.
  • kNERtcDegradationBalanced: Adjust the frame rate and the resolution for balance.
枚举值
kNERtcDegradationDefault 

By default, adjust the adaptation preference based on scenarios.

  • In communication scenes, select DEGRADATION_BALANCED mode to maintain a balance between the frame rate and video quality. -In live streaming scenes, select DEGRADATION_MAINTAIN_QUALITY mode and reduce the frame rate to ensure video quality.
kNERtcDegradationMaintainFramerate 

Smooth stream comes first.

Reduce video quality to ensure the frame rate. In an unstable network, reduce the video clarity to ensure smooth streams. At this time, the image quality is reduced and the images become blurred, but the video can be streamed smoothly.

kNERtcDegradationMaintainQuality 

Clarity is prioritized.

Reduce the frame rate to ensure video quality. In an unstable network, reduce the frame rate to ensure a clear view. A number of freezes occur at this time.

kNERtcDegradationBalanced 

Maintain a balance between the frame rate and video quality.

◆ NERtcEncryptionMode

Encryption mode

枚举值
NERtcEncryptionModeGMCryptoSM4ECB 

128-bit SM4 encryption, ECB mode.

◆ NERtcLiveStreamAudioCodecProfile

Live streaming audio codec profile

枚举值
kNERtcLiveStreamAudioCodecProfileLCAAC 

NERtcLiveStreamAudioCodecProfileLCAAC: LC-AAC, basic audio codec

kNERtcLiveStreamAudioCodecProfileHEAAC 

NERtcLiveStreamAudioCodecProfileHEAAC: HE-AAC, high-efficiency audio codec

◆ NERtcLiveStreamAudioSampleRate

Live streaming audio sample rate

枚举值
kNERtcLiveStreamAudioSampleRate32000 

32K

kNERtcLiveStreamAudioSampleRate44100 

44.1K

kNERtcLiveStreamAudioSampleRate48000 

48K

◆ NERtcLiveStreamMode

Streaming mode in live streaming

枚举值
kNERtcLsModeVideo 

(Default) stream audio and video.

kNERtcLsModeAudio 

Stream audio.

◆ NERtcLiveStreamStateCode

Live streaming status code

枚举值
kNERtcLsStatePushing 

Publishing streams

kNERtcLsStatePushFail 

Fails to publish streams in Interactive Live Streaming

kNERtcLsStatePushStopped 

Streaming ends

◆ NERtcLiveStreamVideoScaleMode

Scale mode in live streaming

枚举值
kNERtcLsModeVideoScaleFit 

Adaptive to the video, the video size is scaled proportionally.

Give priority to ensuring that all video content is displayed. If the video size does not match the display window size, the unfilled area of the window will be filled with the background color.

kNERtcLsModeVideoScaleCropFill 

(default) Adaptive to the area, the video size is scaled proportionally.

Make sure that all areas are filled, and the extra part of the video will be cropped.

◆ NERtcLogLevel

Log level

枚举值
kNERtcLogLevelFatal 

Fatal level log information.

kNERtcLogLevelError 

Error level log information.

kNERtcLogLevelWarning 

Warning level log information.

kNERtcLogLevelInfo 

Info level log information.

The default level.

kNERtcLogLevelDetailInfo 

Detail Info level log information.

kNERtcLogLevelDebug 

Debug level log information.

kNERtcLogLevelVerbose 

Verbose level log information.

kNERtcLogLevelOff 

Turn off log printing.

◆ NERtcMediaPriorityType

枚举值
kNERtcMediaPriorityHigh 

High priority

kNERtcMediaPriorityNormal 

(default) Normal priority

◆ NERtcNetworkConnectionType

Type of network connection

枚举值
kNERtcNetworkConnectionTypeNone 

Not detected.

kNERtcNetworkConnectionTypeUnknown 

Unknown.

kNERtcNetworkConnectionType2G 

2G.

kNERtcNetworkConnectionType3G 

3G.

kNERtcNetworkConnectionType4G 

4G.

kNERtcNetworkConnectionType5G 

5G.

kNERtcNetworkConnectionTypeWiFi 

WiFi.

kNERtcNetworkConnectionTypeWWAN 

The ISP network, but the ISP cannot be identified.

◆ NERtcNetworkQuality

Network quality

枚举值
kNERtcNetworkQualityUnknown 

Unknown network quality

kNERtcNetworkQualityExcellent 

Excellent network quality

kNERtcNetworkQualityGood 

Good network quality is close to excellent but has the bitrate is lower an excellent network.

kNERtcNetworkQualityPoor 

Poor network does not affect communication

kNERtcNetworkQualityBad 

Users can communicate with each other without smoothness.

kNERtcNetworkQualityVeryBad 

The network quality is very poor.

Users can hardly get connected.

kNERtcNetworkQualityDown 

Users are unable to communicate with each other.

◆ NERtcReasonConnectionChangedType

The reason why the connection status of the engine connection changes.

枚举值
kNERtcReasonConnectionChangedLeaveChannel 

A user leaves the room.

kNERtcReasonConnectionChangedChannelClosed 

The room is closed.

kNERtcReasonConnectionChangedBeKicked 

The user is removed from the room.

kNERtcReasonConnectionChangedTimeOut 

The connection times out.

kNERtcReasonConnectionChangedJoinChannel 

A user joins the room.

kNERtcReasonConnectionChangedJoinSucceed 

A user successfully joins the room.

kNERtcReasonConnectionChangedReJoinSucceed 

A user successfully rejoins the room.

kNERtcReasonConnectionChangedMediaConnectionDisconnected 

Media stream disconnected.

kNERtcReasonConnectionChangedSignalDisconnected 

Signaling connection fails.

kNERtcReasonConnectionChangedRequestChannelFailed 

Fails to request a room.

kNERtcReasonConnectionChangedJoinChannelFailed 

A user fails to join the room.

kNERtcReasonConnectionChangedReDispatch 

The server IP is reassigned.

kNERtcReasonConnectionChangedSettingProxyServer 

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

◆ NERtcRecordType

The cloud recording mode that records streams published from the local client.

枚举值
kNERtcRecordTypeAll 

Composite and individual stream recording mode.

In this mode, you can simultaneously record mixed streams and individual streams.

kNERtcRecordTypeMix 

Composite recording mode.

In this mode, audio and video streams from room members are mixed into one audio and video stream.

kNERtcRecordTypeSingle 

Individual recording mode.

Members that participate in individual stream recording can record a separate audio and video stream. Each member has an independent audio and video file.

◆ NERtcRemoteVideoStreamType

The type of the remote video stream

枚举值
kNERtcRemoteVideoStreamTypeHigh 

High-definition stream with HD video quality.

kNERtcRemoteVideoStreamTypeLow 

Low-definition stream with LD video quality.

◆ NERtcRenderType

Video rendering type.

枚举值
kNERtcRenderDefault 

The default video rendering type.

kNERtcRenderOpenGL 

OpenGLES rendering.

kNERtcRenderMetal 

Metal rendering.

◆ NERtcSessionLeaveReason

The reasons why the user leaves the room.

枚举值
kNERtcSessionLeaveNormal 

The user leaves the room normally.

kNERtcSessionLeaveForFailOver 

The user leaves the room due to network failure.

kNERTCSessionLeaveForUpdate 

The user leaves the room due to Failover.

It is only used internally by the SDK.

kNERtcSessionLeaveForKick 

The user is removed from the room.

kNERtcSessionLeaveTimeout 

The user leaves the room due to connections timeout.

◆ NERtcStreamChannelType

Stream type for sending SEI

枚举值
kNERtcStreamChannelTypeMainStream 

Bigstream.

kNERtcStreamChannelTypeSubStream 

Substream.

◆ NERtcStreamFallbackOptions

枚举值
kNERtcStreamFallbackOptionDisabled 

When the uplink or downlink network is unstable, the audio and video streams will not fallback, but the quality of the audio and video streams cannot be guaranteed.

注解
This option is only valid for the setLocalPublishFallbackOption method, and invalid for the setRemoteSubscribeFallbackOption method.
kNERtcStreamFallbackOptionVideoStreamLow 

In an unstable downlink network, the SDK only receives low-definition streams, which have low resolution and bitrate.

注解
This option is only valid for the setRemoteSubscribeFallbackOption method, and invalid for the setLocalPublishFallbackOption method.
kNERtcStreamFallbackOptionAudioOnly 
  • In an unstable uplink network, only the audio stream is published.
  • In an unstable downlink network, first try to receive only low-definition streams, which have low resolution and bitrate. If the video stream cannot be displayed due to network quality, then the stream falls back to the audio stream.

◆ NERtcSubStreamContentPrefer

Encoding strategy preference for screen sharing

枚举值
kNERtcSubStreamContentPreferMotion 

(Default) The content type is animation.

-When the shared content is a video, movie, or game, we recommend that you select this content type.

  • If a user sets the content type to animation, the user-defined frame rate is applied.
kNERtcSubStreamContentPreferDetails 

The content type is details.

-When the shared content is an image or text, we recommend that you select this content type. -When the user sets the content type to details, the user is allowed to set up to 10 frames. If the setting exceeds 10 frames, the value of 10 frames is applied.

◆ NERtcTransportType

云代理模式。

枚举值
NERtcTransportTypeNoneProxy 

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

NERtcTransportTypeUDPProxy 

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

◆ NERtcVideoCropMode

Video crop mode

枚举值
kNERtcVideoCropDefault 

Do not crop.

kNERtcVideoCropMode16_9 

16:9

kNERtcVideoCropMode4_3 

4:3

kNERtcVideoCropMode1_1 

1:1

◆ NERtcVideoDeviceState

The video device status is unlimited, and the SDK has full control over the Audio Session.

枚举值
kNERtcVideoDeviceStateInitialized 

The video device is initialized.

kNERtcVideoDeviceStateStarted 

The video device is started.

kNERtcVideoDeviceStateStoped 

The video device is stopped.

kNERtcVideoDeviceStateUnInitialized 

The video device is uninitialized.

◆ NERtcVideoDeviceType

Video device type

枚举值
kNERtcVideoDeviceTypeUnknown 

Unknown video device.

kNERtcVideoDeviceTypeCapture 

Video capture device

◆ NERtcVideoFormatType

Video format type

枚举值
kNERtcVideoFormatI420 

I420 video format.

kNERtcVideoFormatNV12 

NV12 video format.

kNERtcVideoFormatBGRA 

BGRA video format.

◆ NERtcVideoFrameRate

Video frame rate -kNERtcVideoFrameRateFpsDefault: By default, the bigstream video frame rate is selected based on maxProfile, and substream video frame rate is set to kNERtcVideoFrameRateFps7.

枚举值
kNERtcVideoFrameRateFpsDefault 

0 fps.

kNERtcVideoFrameRateFps7 

7 fps.

kNERtcVideoFrameRateFps10 

10 fps.

kNERtcVideoFrameRateFps15 

15 fps.

kNERtcVideoFrameRateFps24 

24 fps.

kNERtcVideoFrameRateFps30 

30 fps.

kNERtcVideoFrameRateFps60 

60 fps.

◆ NERtcVideoMirrorMode

Video mirror mode.

枚举值
kNERtcVideoMirrorModeAuto 

(default) The mirror mode is determined by the SDK.

kNERtcVideoMirrorModeEnabled 

Enable mirror mode.

kNERtcVideoMirrorModeDisabled 

Disable mirror mode.

◆ NERtcVideoOutputOrientationMode

Video orientation mode.

枚举值
kNERtcVideoOutputOrientationModeAdaptative 

(default) The direction of the video output by the SDK in this mode is consistent with the direction of the captured video.

The receiver rotates the video based on the received video rotation information.

This mode is suitable for scenarios where the receiver can adjust the video direction.

  • If the captured video is in landscape mode, the output video is also in landscape mode.
  • If the captured video is in portrait mode, the output video is also in portrait mode.
kNERtcVideoOutputOrientationModeFixedLandscape 

In this mode, the SDK always outputs videos in landscape mode.

If the captured video is in portrait mode, the video encoder crops the video.

This mode is suitable for scenes where the receiver cannot adjust the video direction, such as CDN relayed streaming.

kNERtcVideoOutputOrientationModeFixedPortrait 

In this mode, the SDK always outputs videos in portrait mode.

If the captured video is in landscape mode, the video encoder crops the video.

This mode is suitable for scenes where the receiver cannot adjust the video direction, such as CDN relayed streaming.

◆ NERtcVideoProfileType

Video profile type

枚举值
kNERtcVideoProfileLowest 

LD (160 × 120/90 @ 15fps)

kNERtcVideoProfileLow 

LD (320 x 180/240 @ 15 fps)

kNERtcVideoProfileStandard 

SD (640 x 360/480 @3 0 fps)

kNERtcVideoProfileHD720P 

HD (1280 x 720 @ 30 fps)

kNERtcVideoProfileHD1080P 

1080P (1920 x 1080 @30 fps)

kNERtcVideoProfileMAX 

LD (160 × 120/90 @ 15fps)

kNERtcVideoProfileFake 

FakeVideo logo, only displayed in the callback.

Do not set the logo. Otherwise, the SDK processes the logo based on kNERtcVideoProfileStandard. When the remote client sends the SEI in the audio-only state, the local client receives the message returned by the onNERtcEngineUserVideoDidStartWithUserID callback from the remote client. The maxProfile parameter is FAKE_PROFILE, which indicates that the remote client sends a 16*16 FakeVideo. At this time, if the local client needs to receive the remote SEI, you only need to subscribe to the remote video, without setting the remote canvas.

◆ NERtcVideoPubMode

Video publishing mode

枚举值
kNERtcVideoSendOnPubWithNone 

Publish streams as the format subscribed by the remote peer.

kNERtcVideoSendOnPubWithHigh 

Initially publish a high-definition stream.

kNERtcVideoSendOnPubWithLow 

Initially publish a low-definition stream.

kNERtcVideoSendOnPubWithAll 

Initially publish a high-definition stream and a low-definition stream at the same time.

◆ NERtcVideoRenderScaleMode

Video rendering zoom mode

枚举值
kNERtcVideoRenderScaleFit 

Adaptive to the video.

The video size is scaled proportionally. Give priority to ensuring that all video content is displayed. If the video size does not match the display window size, the unfilled area of the window is be filled with the background color.

kNERtcVideoRenderScaleFullFill 

Video size is scaled non-proportionally.

Ensure that all video content is displayed and the window is filled.

kNERtcVideoRenderScaleCropFill 

Adaptive to the area, the video size is scaled proportionally.

Ensure that all areas are filled, and the extra part of the video will be cropped.

◆ NERtcVideoRotationMode

Video rotation Mode.

枚举值
NERtcVideoRotationModeBySystem 

(default) Determine the video orientation mode based on the orientation of the system device.

If the local system device uses landscape, the local screen will be displayed in landscape mode on the local client and remote client.

NERtcVideoRotationModeByApp 

Determine the video rotation mode by the app direction.

If the local App UI is switched to landscape mode, the local screen will also be displayed in landscape mode on the local client and remote client.

◆ NERtcVideoRotationType

Rotation direction of video data

枚举值
kNERtcVideoRotation_0 

0°.

kNERtcVideoRotation_90 

90°.

kNERtcVideoRotation_180 

180°.

kNERtcVideoRotation_270 

270°.

◆ NERtcVoiceBeautifierType

The preset value of the voice beautifier

枚举值
kNERtcVoiceBeautifierOff 

By default, the voice beautifier effect is disabled.

kNERtcVoiceBeautifierMuffled 

Muffled

kNERtcVoiceBeautifierMellow 

Mellow

kNERtcVoiceBeautifierClear 

Clear

kNERtcVoiceBeautifierMagnetic 

Magnetic

kNERtcVoiceBeautifierRecordingStudio 

Recording studio

kNERtcVoiceBeautifierNature 

Nature

kNERtcVoiceBeautifierKTV 

KTV

kNERtcVoiceBeautifierRemote 

Remote

kNERtcVoiceBeautifierChurch 

Church

kNERtcVoiceBeautifierBedroom 

Bedroom

kNERtcVoiceBeautifierLive 

Live

◆ NERtcVoiceChangerType

The preset value of the voice changer

枚举值
kNERtcVoiceChangerOff 

By default, the voice changer effect is disabled.

kNERtcVoiceChangerRobot 

Robot.

kNERtcVoiceChangerGaint 

Giant.

kNERtcVoiceChangerHorror 

Horror.

kNERtcVoiceChangerMature 

Mature.

kNERtcVoiceChangerManToWoman 

Male to female.

kNERtcVoiceChangerWomanToMan 

Female to male.

kNERtcVoiceChangerManToLoli 

Male to loli.

kNERtcVoiceChangerWomanToLoli 

Female to loli.