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

浏览源代码.

枚举

enum  NERtcConnectionStateType {
  kNERtcConnectionStateUnknown = 0 , kNERtcConnectionStateDisconnected = 1 , kNERtcConnectionStateConnecting = 2 , kNERtcConnectionStateConnected = 3 ,
  kNERtcConnectionStateReconnecting = 4 , kNERtcConnectionStateFailed = 5
}
 当前房间的连接状态。 更多...
 
enum  NERtcSessionLeaveReason {
  kNERtcSessionLeaveNormal = 0 , kNERtcSessionLeaveForFailOver = 1 , kNERTCSessionLeaveForUpdate = 2 , kNERtcSessionLeaveForKick = 3 ,
  kNERtcSessionLeaveTimeout = 4
}
 用户离开房间的原因。 更多...
 
enum  NERtcClientRole { kNERtcClientRoleBroadcaster = 0 , kNERtcClientRoleAudience = 1 }
 用户角色。 更多...
 
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
}
 当前engine连接状态变更的原因。 更多...
 
enum  NERtcCameraPreference { kNERtcCameraOutputDefault = 0 , kNERtcCameraOutputQuality = 1 , kNERtcCameraOutputManual = 2 }
 摄像头采集偏好。 更多...
 
enum  NERtcVideoProfileType {
  kNERtcVideoProfileLowest = 0 , kNERtcVideoProfileLow = 1 , kNERtcVideoProfileStandard = 2 , kNERtcVideoProfileHD720P = 3 ,
  kNERtcVideoProfileHD1080P = 4 , kNERtcVideoProfileMAX = kNERtcVideoProfileHD1080P , kNERtcVideoProfileFake = 5
}
 视频 profile 类型。 更多...
 
enum  NERtcVideoFrameRate {
  kNERtcVideoFrameRateFpsDefault = 0 , kNERtcVideoFrameRateFps7 = 7 , kNERtcVideoFrameRateFps10 = 10 , kNERtcVideoFrameRateFps15 = 15 ,
  kNERtcVideoFrameRateFps24 = 24 , kNERtcVideoFrameRateFps30 = 30 , kNERtcVideoFrameRateFps60 = 60
}
 视频帧率。 更多...
 
enum  NERtcDegradationPreference { kNERtcDegradationDefault = 0 , kNERtcDegradationMaintainFramerate , kNERtcDegradationMaintainQuality , kNERtcDegradationBalanced }
 带宽受限时视频编码适应性偏好 更多...
 
enum  NERtcSubStreamContentPrefer { kNERtcSubStreamContentPreferMotion = 0 , kNERtcSubStreamContentPreferDetails }
 屏幕共享功能的编码策略倾向 更多...
 
enum  NERtcRemoteVideoStreamType { kNERtcRemoteVideoStreamTypeHigh , kNERtcRemoteVideoStreamTypeLow }
 远端视频流类型。 更多...
 
enum  NERtcVideoPubMode { kNERtcVideoSendOnPubWithNone = 0 , kNERtcVideoSendOnPubWithHigh , kNERtcVideoSendOnPubWithLow , kNERtcVideoSendOnPubWithAll }
 视频发布模式。 更多...
 
enum  NERtcVideoRenderScaleMode { kNERtcVideoRenderScaleFit = 0 , kNERtcVideoRenderScaleFullFill = 1 , kNERtcVideoRenderScaleCropFill = 2 }
 视频渲染缩放模式。 更多...
 
enum  NERtcVideoRotationMode { NERtcVideoRotationModeBySystem = 0 , NERtcVideoRotationModeByApp = 1 }
 视频旋转模式。 更多...
 
enum  NERtcVideoMirrorMode { kNERtcVideoMirrorModeAuto = 0 , kNERtcVideoMirrorModeEnabled = 1 , kNERtcVideoMirrorModeDisabled = 2 }
 视频镜像模式。 更多...
 
enum  NERtcVideoOutputOrientationMode { kNERtcVideoOutputOrientationModeAdaptative = 0 , kNERtcVideoOutputOrientationModeFixedLandscape = 1 , kNERtcVideoOutputOrientationModeFixedPortrait = 2 }
 视频旋转方向模式。 更多...
 
enum  NERtcVideoCropMode { kNERtcVideoCropDefault , kNERtcVideoCropMode16_9 , kNERtcVideoCropMode4_3 , kNERtcVideoCropMode1_1 }
 视频裁剪模式 更多...
 
enum  NERtcRenderType { kNERtcRenderDefault = 0 , kNERtcRenderOpenGL , kNERtcRenderMetal }
 视频渲染类型。 更多...
 
enum  NERtcVideoRotationType { kNERtcVideoRotation_0 = 0 , kNERtcVideoRotation_90 = 90 , kNERtcVideoRotation_180 = 180 , kNERtcVideoRotation_270 = 270 }
 视频数据的旋转方向 更多...
 
enum  NERtcVideoFormatType { kNERtcVideoFormatI420 = 0 , kNERtcVideoFormatNV12 , kNERtcVideoFormatBGRA }
 视频格式类型 更多...
 
enum  NERtcStreamChannelType { kNERtcStreamChannelTypeMainStream = 0 , kNERtcStreamChannelTypeSubStream }
 SEI发送的流通道类型。 更多...
 
enum  NERtcAudioOutputRouting {
  kNERtcAudioOutputRoutingDefault = 0 , kNERtcAudioOutputRoutingHeadset , kNERtcAudioOutputRoutingEarpiece , kNERtcAudioOutputRoutingLoudspeaker ,
  kNERtcAudioOutputRoutingBluetooth
}
 音频路由。 更多...
 
enum  NERtcAudioProfileType {
  kNERtcAudioProfileDefault = 0 , kNERtcAudioProfileStandard , kNERtcAudioProfileStandardExtend , kNERtcAudioProfileMiddleQuality ,
  kNERtcAudioProfileMiddleQualityStereo , kNERtcAudioProfileHighQuality , kNERtcAudioProfileHighQualityStereo
}
 音频质量能力概要
音频属性:设置采样率,码率,编码模式和声道数 更多...
 
enum  NERtcAudioScenarioType { kNERtcAudioScenarioDefault = 0 , kNERtcAudioScenarioSpeech , kNERtcAudioScenarioMusic , kNERtcAudioScenarioChatRoom }
 音频应用场景。
不同的场景设置对应不同的音频采集模式(移动平台)、播放模式。 更多...
 
enum  NERtcChannelProfileType { kNERtcChannelProfileCommunication = 0 , kNERtcChannelProfileLiveBroadcasting }
 房间场景。 更多...
 
enum  NERtcAudioSessionOperationRestriction { kNERtcAudioSessionOperationRestrictionNone = 0 , kNERtcAudioSessionOperationRestrictionAll , kNERtcAudioSessionOperationRestrictionDeactivateSession }
 音频会话控制权限。
SDK 对 Audio Session 的控制权限。 更多...
 
enum  NERtcAudioStreamType { kNERtcAudioStreamMain = 0 , kNERtcAudioStreamSub }
 音频流类型,目前同时支持音频两路流:主流和辅流 更多...
 
enum  NERtcAudioDumpType { kNERtcAudioDumpTypePCM = 0 , kNERtcAudioDumpTypeAll , kNERtcAudioDumpTypeWAV }
 音频dump类型 更多...
 
enum  NERtcMediaPriorityType { kNERtcMediaPriorityHigh = 50 , kNERtcMediaPriorityNormal = 100 }
 
enum  NERtcStreamFallbackOptions { kNERtcStreamFallbackOptionDisabled = 0 , kNERtcStreamFallbackOptionVideoStreamLow = 1 , kNERtcStreamFallbackOptionAudioOnly = 2 }
 
enum  NERtcAudioRecordingQuality { kNERtcAudioRecordingQualityLow = 0 , kNERtcAudioRecordingQualityMedium = 1 , kNERtcAudioRecordingQualityHigh = 2 }
 录音音质。 更多...
 
enum  NERtcAudioRecordingCode {
  NERtcAudioRecordingCodeErrorSuffix = 1 , kNERtcAudioRecordingOpenFileFailed = 2 , kNERtcAudioRecordingCodeStart = 3 , kNERtcAudioRecordingRecordError = 4 ,
  kNERtcAudioRecordingCodeFinish = 5
}
 录音回调状态码。 更多...
 
enum  NERtcAudioRecordingPosition { kNERtcAudioRecordingPositionMixedRecordingAndPlayback = 0 , kNERtcAudioRecordingPositionRecording = 1 , kNERtcAudioRecordingPositionMixedPlayback = 2 }
 
enum  NERtcAudioRecordingCycleTime {
  kNERtcAudioRecordingCycleTime0 = 0 , kNERtcAudioRecordingCycleTime10 = 10 , kNERtcAudioRecordingCycleTime60 = 60 , kNERtcAudioRecordingCycleTime360 = 360 ,
  kNERtcAudioRecordingCycleTime900 = 900
}
 
enum  NERtcAudioEqualizationBandFrequency {
  NERtcAudioEqualizationBand31 = 0 , NERtcAudioEqualizationBand62 = 1 , NERtcAudioEqualizationBand125 = 2 , NERtcAudioEqualizationBand250 = 3 ,
  NERtcAudioEqualizationBand500 = 4 , NERtcAudioEqualizationBand1K = 5 , NERtcAudioEqualizationBand2K = 6 , NERtcAudioEqualizationBand4K = 7 ,
  NERtcAudioEqualizationBand8K = 8 , NERtcAudioEqualizationBand16K = 9
}
 频谱子带索引 预设值。 更多...
 
enum  NERtcVoiceChangerType {
  kNERtcVoiceChangerOff = 0 , kNERtcVoiceChangerRobot , kNERtcVoiceChangerGaint , kNERtcVoiceChangerHorror ,
  kNERtcVoiceChangerMature , kNERtcVoiceChangerManToWoman , kNERtcVoiceChangerWomanToMan , kNERtcVoiceChangerManToLoli ,
  kNERtcVoiceChangerWomanToLoli
}
 变声 预设值。 更多...
 
enum  NERtcVoiceBeautifierType {
  kNERtcVoiceBeautifierOff = 0 , kNERtcVoiceBeautifierMuffled , kNERtcVoiceBeautifierMellow , kNERtcVoiceBeautifierClear ,
  kNERtcVoiceBeautifierMagnetic , kNERtcVoiceBeautifierRecordingStudio , kNERtcVoiceBeautifierNature , kNERtcVoiceBeautifierKTV ,
  kNERtcVoiceBeautifierRemote , kNERtcVoiceBeautifierChurch , kNERtcVoiceBeautifierBedroom , kNERtcVoiceBeautifierLive
}
 美声 预设值。 更多...
 
enum  NERtcRecordType { kNERtcRecordTypeAll = 0 , kNERtcRecordTypeMix = 1 , kNERtcRecordTypeSingle = 2 }
 本端参与的云端录制模式。 更多...
 
enum  NERtcAudioMixingState { kNERtcAudioMixingStateFinished = 0 , kNERtcAudioMixingStateFailed }
 伴音任务状态。 更多...
 
enum  NERtcAudioMixingErrorCode {
  kNERtcAudioMixingErrorOK = 0 , kNERtcAudioMixingErrorFatal , kNERtcAudioMixingErrorCanNotOpen , kNERtcAudioMixingErrorDecode ,
  kNERtcAudioMixingErrorInterrupt , kNERtcAudioMixingErrorHttpNotFound , kNERtcAudioMixingErrorOpen , kNERtcAudioMixingErrorNInfo ,
  kNERtcAudioMixingErrorNStream , kNERtcAudioMixingErrorNCodec , kNERtcAudioMixingErrorNMem , kNERtcAudioMixingErrorCodecOpen ,
  kNERtcAudioMixingErrorInvalidInfo , kNERtcAudioMixingErrorOpenTimeout , kNERtcAudioMixingErrorIoTimeout , kNERtcAudioMixingErrorIo
}
 伴音错误码。 更多...
 
enum  NERtcNetworkConnectionType {
  kNERtcNetworkConnectionTypeNone , kNERtcNetworkConnectionTypeUnknown , kNERtcNetworkConnectionType2G , kNERtcNetworkConnectionType3G ,
  kNERtcNetworkConnectionType4G , kNERtcNetworkConnectionType5G , kNERtcNetworkConnectionTypeWiFi , kNERtcNetworkConnectionTypeWWAN
}
 网络连接的类型。 更多...
 
enum  NERtcLiveStreamAudioSampleRate { kNERtcLiveStreamAudioSampleRate32000 = 32000 , kNERtcLiveStreamAudioSampleRate44100 = 44100 , kNERtcLiveStreamAudioSampleRate48000 = 48000 }
 直播推流音频采样率。 更多...
 
enum  NERtcLiveStreamAudioCodecProfile { kNERtcLiveStreamAudioCodecProfileLCAAC = 0 , kNERtcLiveStreamAudioCodecProfileHEAAC = 1 }
 直播推流音频编码规格。 更多...
 
enum  NERtcLiveStreamMode { kNERtcLsModeVideo = 0 , kNERtcLsModeAudio }
 直播推流模式。 更多...
 
enum  NERtcLiveStreamVideoScaleMode { kNERtcLsModeVideoScaleFit = 0 , kNERtcLsModeVideoScaleCropFill }
 直播推流模式。 更多...
 
enum  NERtcLiveStreamStateCode { kNERtcLsStatePushing = 505 , kNERtcLsStatePushFail = 506 , kNERtcLsStatePushStopped = 511 }
 直播推流状态。 更多...
 
enum  NERtcAudioType { kNERtcAudioTypePCM16 = 0 }
 音频类型 更多...
 
enum  NERtcAudioFrameOpMode { kNERtcAudioFrameOpModeReadOnly = 0 , kNERtcAudioFrameOpModeReadWrite = 1 }
 音频数据读写模式 更多...
 
enum  NERtcAudioDeviceType { kNERtcAudioDeviceTypeUnknown = 0 , kNERtcAudioDeviceTypeRecord , kNERtcAudioDeviceTypePlayout }
 音频设备类型。 更多...
 
enum  NERtcVideoDeviceType { kNERtcVideoDeviceTypeUnknown = 0 , kNERtcVideoDeviceTypeCapture }
 视频设备类型。 更多...
 
enum  NERtcAudioDeviceState { kNERtcAudioDeviceStateInitialized = 0 , kNERtcAudioDeviceStateStarted , kNERtcAudioDeviceStateStoped , kNERtcAudioDeviceStateUnInitialized }
 音频设备状态。 更多...
 
enum  NERtcVideoDeviceState { kNERtcVideoDeviceStateInitialized = 0 , kNERtcVideoDeviceStateStarted , kNERtcVideoDeviceStateStoped , kNERtcVideoDeviceStateUnInitialized }
 视频设备状态无限制,SDK 可以完全控制 Audio Session。 更多...
 
enum  NERtcNetworkQuality {
  kNERtcNetworkQualityUnknown = 0 , kNERtcNetworkQualityExcellent , kNERtcNetworkQualityGood , kNERtcNetworkQualityPoor ,
  kNERtcNetworkQualityBad , kNERtcNetworkQualityVeryBad , kNERtcNetworkQualityDown
}
 网络质量类型。 更多...
 
enum  NERtcChannelMediaRelayState { NERtcChannelMediaRelayStateIdle = 0 , NERtcChannelMediaRelayStateConnecting = 1 , NERtcChannelMediaRelayStateRunning = 2 , NERtcChannelMediaRelayStateFailure = 3 }
 媒体流转发状态 更多...
 
enum  NERtcChannelMediaRelayEvent {
  NERtcChannelMediaRelayEventDisconnect = 0 , NERtcChannelMediaRelayEventConnecting = 1 , NERtcChannelMediaRelayEventConnected = 2 , NERtcChannelMediaRelayEventVideoSentToDestChannelSuccess = 3 ,
  NERtcChannelMediaRelayEventAudioSentToDestChannelSuccess = 4 , NERtcChannelMediaRelayEventOtherStreamSentToDestChannelSuccess = 5 , NERtcChannelMediaRelayEventFailure = 100
}
 媒体流转发回调事件 更多...
 
enum  NERtcEncryptionMode { NERtcEncryptionModeGMCryptoSM4ECB }
 加密模式 更多...
 
enum  NERtcLastmileProbeResultState { kNERtcLastmileProbeResultComplete = 1 , kNERtcLastmileProbeResultIncompleteNoBwe = 2 , kNERtcLastmileProbeResultUnavailable = 3 }
 Last mile 质量探测结果的状态。 更多...
 
enum  NERtcTransportType { NERtcTransportTypeNoneProxy = 0 , NERtcTransportTypeUDPProxy }
 云代理模式。 更多...
 
enum  NERtcLogLevel {
  kNERtcLogLevelFatal = 0 , kNERtcLogLevelError = 1 , kNERtcLogLevelWarning = 2 , kNERtcLogLevelInfo = 3 ,
  kNERtcLogLevelDetailInfo = 4 , kNERtcLogLevelDebug = 5 , kNERtcLogLevelVerbose = 6 , kNERtcLogLevelOff = 7
}
 日志级别。 更多...
 

枚举类型说明

◆ NERtcAudioDeviceState

音频设备状态。

枚举值
kNERtcAudioDeviceStateInitialized 

已初始化。

kNERtcAudioDeviceStateStarted 

已启动。

kNERtcAudioDeviceStateStoped 

已停止。

kNERtcAudioDeviceStateUnInitialized 

反初始化。

◆ NERtcAudioDeviceType

音频设备类型。

枚举值
kNERtcAudioDeviceTypeUnknown 

未知设备。

kNERtcAudioDeviceTypeRecord 

音频采集设备。

kNERtcAudioDeviceTypePlayout 

音频播放设备。

◆ NERtcAudioDumpType

音频dump类型

枚举值
kNERtcAudioDumpTypePCM 

仅输出.dump文件(默认)

kNERtcAudioDumpTypeAll 

输出.dump和.wav文件

kNERtcAudioDumpTypeWAV 

仅输出.wav文件

◆ NERtcAudioEqualizationBandFrequency

频谱子带索引 预设值。

枚举值
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

音频数据读写模式

枚举值
kNERtcAudioFrameOpModeReadOnly 

只读模式。用户仅从 AudioFrame 获取原始音频数据。例如,如用户通过 SDK 采集数据,自己进行 RTMP/RTMPS 推流,则可以选择该模式。

kNERtcAudioFrameOpModeReadWrite 

读写模式。用户从 AudioFrame 获取并修改数据,并返回给 SDK 进行编码传输。例如,如用户自己有音效处理模块,且想要根据实际需要对数据进行前处理 (例如变声),则可以选择该模式。

◆ NERtcAudioMixingErrorCode

伴音错误码。

枚举值
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错误。

◆ NERtcAudioMixingState

伴音任务状态。

枚举值
kNERtcAudioMixingStateFinished 

音乐文件正常结束播放。

kNERtcAudioMixingStateFailed 

音乐文件播放失败。

◆ NERtcAudioOutputRouting

音频路由。

枚举值
kNERtcAudioOutputRoutingDefault 

系统默认。

kNERtcAudioOutputRoutingHeadset 

耳机。

kNERtcAudioOutputRoutingEarpiece 

听筒。

kNERtcAudioOutputRoutingLoudspeaker 

扬声器。

kNERtcAudioOutputRoutingBluetooth 

蓝牙外设。

◆ NERtcAudioProfileType

音频质量能力概要
音频属性:设置采样率,码率,编码模式和声道数

枚举值
kNERtcAudioProfileDefault 

默认设置。语音场景下为 STANDARD,音乐场景下为 HIGH_QUALITY。

kNERtcAudioProfileStandard 

标准音质模式。采样率为 16 kHz、语音编码、单声道、编码码率最大值为 20 Kbps。

kNERtcAudioProfileStandardExtend 

标准扩展模式。采样率为 16 kHz、语音编码、单声道、编码码率最大值为 32 Kbps。

kNERtcAudioProfileMiddleQuality 

中等音质模式。采样率为 48 kHz、音乐编码、单声道、编码码率最大值为 32 Kbps。

kNERtcAudioProfileMiddleQualityStereo 

中等音质模式(立体音)。采样率为 48 kHz、音乐编码、双声道、编码码率最大值为 64 Kbps。

kNERtcAudioProfileHighQuality 

高音质模式。采样率为 48 kHz、音乐编码、单声道、编码码率最大值为 64 Kbps。

kNERtcAudioProfileHighQualityStereo 

高音质模式(立体音)。采样率为 48 kHz、音乐编码、双声道、编码码率最大值为 128 Kbps。

◆ NERtcAudioRecordingCode

录音回调状态码。

枚举值
NERtcAudioRecordingCodeErrorSuffix 

不支持的录音文件格式。

kNERtcAudioRecordingOpenFileFailed 

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

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

开始录制。

kNERtcAudioRecordingRecordError 

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

kNERtcAudioRecordingCodeFinish 

完成录制。

◆ NERtcAudioRecordingCycleTime

枚举值
kNERtcAudioRecordingCycleTime0 
kNERtcAudioRecordingCycleTime10 
kNERtcAudioRecordingCycleTime60 
kNERtcAudioRecordingCycleTime360 
kNERtcAudioRecordingCycleTime900 

◆ NERtcAudioRecordingPosition

枚举值
kNERtcAudioRecordingPositionMixedRecordingAndPlayback 
kNERtcAudioRecordingPositionRecording 
kNERtcAudioRecordingPositionMixedPlayback 

◆ NERtcAudioRecordingQuality

录音音质。

枚举值
kNERtcAudioRecordingQualityLow 

低音质。

kNERtcAudioRecordingQualityMedium 

(默认)中音质。

kNERtcAudioRecordingQualityHigh 

高音质。

◆ NERtcAudioScenarioType

音频应用场景。
不同的场景设置对应不同的音频采集模式(移动平台)、播放模式。

  • kNERtcAudioScenarioDefault: 默认设置为 kNERtcAudioScenarioSpeech。
  • kNERtcAudioScenarioSpeech: 语音场景. NERtcAudioProfileType 推荐使用 kNERtcAudioProfileMiddleQuality 及以下。
  • kNERtcAudioScenarioMusic: 音乐场景。NERtcAudioProfileType 推荐使用 kNERtcAudioProfileMiddleQualityStereo 及以上。
  • kNERtcAudioScenarioChatRoom: 语聊房场景。 NERtcAudioProfileType 推荐使用 kNERtcAudioProfileMiddleQualityStereo 及以上。
枚举值
kNERtcAudioScenarioDefault 

默认的音频应用场景(语音)。

kNERtcAudioScenarioSpeech 

语音场景。

kNERtcAudioScenarioMusic 

音乐场景。

kNERtcAudioScenarioChatRoom 

语音聊天室场景。

◆ NERtcAudioSessionOperationRestriction

音频会话控制权限。
SDK 对 Audio Session 的控制权限。

枚举值
kNERtcAudioSessionOperationRestrictionNone 

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

kNERtcAudioSessionOperationRestrictionAll 

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

kNERtcAudioSessionOperationRestrictionDeactivateSession 

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

◆ NERtcAudioStreamType

音频流类型,目前同时支持音频两路流:主流和辅流

枚举值
kNERtcAudioStreamMain 

音频流主流

kNERtcAudioStreamSub 

音频流辅流

◆ NERtcAudioType

音频类型

  • kNERtcAudioTypePCM16: PCM16
枚举值
kNERtcAudioTypePCM16 

PCM 16。

◆ NERtcCameraPreference

摄像头采集偏好。

枚举值
kNERtcCameraOutputDefault 

(默认)优先保证设备性能。SDK 根据设备性能,参考用户在 setLocalVideoConfig 中设置编码器的分辨率和帧率,选择最接近的摄像头输出参数。在这种情况下,预览质量接近于编码器的输出质量。

kNERtcCameraOutputQuality 

优先保证视频预览质量。SDK 自动设置画质较高的摄像头输出参数,提高预览画面质量。此时会消耗更多的 CPU 及内存做视频前处理。

kNERtcCameraOutputManual 

采用用户自定义设置的摄像头输出参数。此时用户可以通过 NERtcCameraCaptureConfiguration 中的 captureWidth 和 captureHeight 设置本地摄像头采集的视频宽高。

◆ NERtcChannelMediaRelayEvent

媒体流转发回调事件

枚举值
NERtcChannelMediaRelayEventDisconnect 

媒体流转发停止。

NERtcChannelMediaRelayEventConnecting 

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

NERtcChannelMediaRelayEventConnected 

连接服务器成功。

NERtcChannelMediaRelayEventVideoSentToDestChannelSuccess 

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

NERtcChannelMediaRelayEventAudioSentToDestChannelSuccess 

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

NERtcChannelMediaRelayEventOtherStreamSentToDestChannelSuccess 

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

NERtcChannelMediaRelayEventFailure 

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

  • kNERtcErrChannelReserveErrorParam(414):请求参数错误。
  • kNERtcErrChannelMediaRelayInvalidState(30110):重复调用 startChannelMediaRelay。
  • kNERtcErrChannelMediaRelayPermissionDenied(30111):媒体流转发权限不足。例如调用 startChannelMediaRelay 的房间成员为主播角色、或房间为双人通话房间,不支持转发媒体流。
  • kNERtcErrChannelMediaRelayStopFailed(30112):调用 stopChannelMediaRelay 前,未调用 startChannelMediaRelay。

◆ NERtcChannelMediaRelayState

媒体流转发状态

枚举值
NERtcChannelMediaRelayStateIdle 

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

NERtcChannelMediaRelayStateConnecting 

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

NERtcChannelMediaRelayStateRunning 

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

NERtcChannelMediaRelayStateFailure 

发生异常,详见 onNERtcEngineDidReceiveChannelMediaRelayEvent 的 error 中提示的错误信息。

◆ NERtcChannelProfileType

房间场景。

枚举值
kNERtcChannelProfileCommunication 

(默认)通信场景。该场景下,房间内所有用户都可以发布和接收音、视频流。适用于语音通话、视频群聊等应用场景。

kNERtcChannelProfileLiveBroadcasting 

直播场景。该场景有主播和观众两种用户角色,可以通过setClientRole设置。主播可以发布和接收音视频流,观众直接接收流。适用于语聊房、视频直播、互动大班课等应用场景。

◆ NERtcClientRole

用户角色。

枚举值
kNERtcClientRoleBroadcaster 

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

kNERtcClientRoleAudience 

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

◆ NERtcConnectionStateType

当前房间的连接状态。

枚举值
kNERtcConnectionStateUnknown 

引擎尚未初始化。
该状态表示 SDK 处于:

kNERtcConnectionStateDisconnected 

尚未加入房间。
该状态表示当前处于:

kNERtcConnectionStateConnecting 

正在加入房间。
该状态表示 SDK 处于调用 INERtcEngine#joinChannelWithToken:channelName:myUid:completion: 接口之后,正在建立房间连接的阶段。如果加入房间成功 App 会收到 NERtcEngineDelegate#onNERtcEngineConnectionStateChangeWithState:reason: 回调,当前状态变为 kNERtcConnectionStateConnected。

kNERtcConnectionStateConnected 

加入房间成功。
该状态表示用户已经加入房间,如果因网络断开或切换而导致 SDK 与房间的连接中断,SDK 会自动重连,此时 App 会收到 NERtcEngineDelegate#onNERtcEngineConnectionStateChangeWithState:reason: 回调 ,当前状态变为 kNERtcConnectionStateReconnecting。

kNERtcConnectionStateReconnecting 

正在尝试重新加入房间。
该状态表示 SDK 之前曾加入过房间,但因为网络原因中断了,此时 SDK 会自动尝试重新加入房间。如果重连还是没能加入房间会触发 NERtcEngineDelegate#onNERtcEngineConnectionStateChangeWithState:reason: 回调, 当前状态变为 kNERtcConnectionStateFailed,SDK 停止尝试重连。

kNERtcConnectionStateFailed 

加入房间失败。
该状态表示 SDK 已经不再尝试重新加入房间。如果用户还想重新加入房间,则需要再次调用 INERtcEngine#joinChannelWithToken:channelName:myUid:completion:

◆ NERtcDegradationPreference

带宽受限时视频编码适应性偏好

  • kNERtcDegradationDefault:
    通信场景(kNERtcChannelProfileCommunication),使用Balanced。
    直播场景(kNERtcChannelProfileLiveBroadcasting),使用MaintainQuality。
  • kNERtcDegradationMaintainFramerate: 降低视频分辨率以保证编码帧率。
  • kNERtcDegradationMaintainQuality: 降低编码帧率以保证视频分辨率。
  • kNERtcDegradationBalanced: 平衡调节。
枚举值
kNERtcDegradationDefault 

(默认)根据场景模式调整适应性偏好。

  • 通信场景中,选择DEGRADATION_BALANCED模式,在编码帧率和视频质量之间保持平衡。
  • 直播场景中,选择DEGRADATION_MAINTAIN_QUALITY模式,降低编码帧率以保证视频质量。
kNERtcDegradationMaintainFramerate 

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

kNERtcDegradationMaintainQuality 

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

kNERtcDegradationBalanced 

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

◆ NERtcEncryptionMode

加密模式

枚举值
NERtcEncryptionModeGMCryptoSM4ECB 

128 位 SM4 加密,ECB 模式。

◆ NERtcLastmileProbeResultState

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

枚举值
kNERtcLastmileProbeResultComplete 

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

kNERtcLastmileProbeResultIncompleteNoBwe 

表示本次 last mile 质量探测未进行带宽预测,因此结果不完整。一个可能的原因是测试资源暂时受限

kNERtcLastmileProbeResultUnavailable 

未进行 last mile 质量探测。一个可能的原因是网络连接中断

◆ NERtcLiveStreamAudioCodecProfile

直播推流音频编码规格。

枚举值
kNERtcLiveStreamAudioCodecProfileLCAAC 

NERtcLiveStreamAudioCodecProfileLCAAC: LC-AAC 规格,表示基本音频编码规格。

kNERtcLiveStreamAudioCodecProfileHEAAC 

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

◆ NERtcLiveStreamAudioSampleRate

直播推流音频采样率。

枚举值
kNERtcLiveStreamAudioSampleRate32000 

32K。

kNERtcLiveStreamAudioSampleRate44100 

44.1K。

kNERtcLiveStreamAudioSampleRate48000 

48K。

◆ NERtcLiveStreamMode

直播推流模式。

枚举值
kNERtcLsModeVideo 

(默认)推流音视频。

kNERtcLsModeAudio 

推流纯音频。

◆ NERtcLiveStreamStateCode

直播推流状态。

枚举值
kNERtcLsStatePushing 

推流中。

kNERtcLsStatePushFail 

互动直播推流失败。

kNERtcLsStatePushStopped 

推流结束。

◆ NERtcLiveStreamVideoScaleMode

直播推流模式。

枚举值
kNERtcLsModeVideoScaleFit 

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

kNERtcLsModeVideoScaleCropFill 

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

◆ NERtcLogLevel

日志级别。

枚举值
kNERtcLogLevelFatal 

Fatal 级别日志信息。

kNERtcLogLevelError 

Error 级别日志信息。

kNERtcLogLevelWarning 

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

kNERtcLogLevelInfo 

Info 级别日志信息。

kNERtcLogLevelDetailInfo 

Detail Info 级别日志信息。

kNERtcLogLevelDebug 

Debug 级别日志信息。

kNERtcLogLevelVerbose 

Verbose 级别日志信息。

kNERtcLogLevelOff 

关闭日志打印。

◆ NERtcMediaPriorityType

枚举值
kNERtcMediaPriorityHigh 

高优先级。

kNERtcMediaPriorityNormal 

(默认)普通优先级 。

◆ NERtcNetworkConnectionType

网络连接的类型。

枚举值
kNERtcNetworkConnectionTypeNone 

未检测到。

kNERtcNetworkConnectionTypeUnknown 

无法确定。

kNERtcNetworkConnectionType2G 

2G。

kNERtcNetworkConnectionType3G 

3G。

kNERtcNetworkConnectionType4G 

4G。

kNERtcNetworkConnectionType5G 

5G。

kNERtcNetworkConnectionTypeWiFi 

WiFi。

kNERtcNetworkConnectionTypeWWAN 

运营商网络,但是无法确定运营商。

◆ NERtcNetworkQuality

网络质量类型。

枚举值
kNERtcNetworkQualityUnknown 

网络质量未知。

kNERtcNetworkQualityExcellent 

网络质量极好。

kNERtcNetworkQualityGood 

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

kNERtcNetworkQualityPoor 

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

kNERtcNetworkQualityBad 

勉强能沟通但不顺畅。

kNERtcNetworkQualityVeryBad 

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

kNERtcNetworkQualityDown 

完全无法沟通。

◆ NERtcReasonConnectionChangedType

当前engine连接状态变更的原因。

枚举值
kNERtcReasonConnectionChangedLeaveChannel 

离开房间。

kNERtcReasonConnectionChangedChannelClosed 

房间被关闭。

kNERtcReasonConnectionChangedBeKicked 

用户被踢出。

kNERtcReasonConnectionChangedTimeOut 

连接超时。

kNERtcReasonConnectionChangedJoinChannel 

加入房间。

kNERtcReasonConnectionChangedJoinSucceed 

加入房间成功。

kNERtcReasonConnectionChangedReJoinSucceed 

重新加入房间成功。

kNERtcReasonConnectionChangedMediaConnectionDisconnected 

媒体连接断开。

kNERtcReasonConnectionChangedSignalDisconnected 

信令连接失败。

kNERtcReasonConnectionChangedRequestChannelFailed 

请求房间失败。

kNERtcReasonConnectionChangedJoinChannelFailed 

加入房间失败。

kNERtcReasonConnectionChangedReDispatch 

重新分配了服务端IP。

kNERtcReasonConnectionChangedSettingProxyServer 

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

◆ NERtcRecordType

本端参与的云端录制模式。

枚举值
kNERtcRecordTypeAll 

本端参与合流+单流录制。同时录制合流内容和单流内容。

kNERtcRecordTypeMix 

本端参与合流录制模式。房间内参与合流录制的成员,其音视频流混合录制为一个音视频文件。

kNERtcRecordTypeSingle 

本端参与单流录制模式。房间内参与单流录制的成员,分开录制其音视频流,每位成员均有其对应的音视频文件。

◆ NERtcRemoteVideoStreamType

远端视频流类型。

枚举值
kNERtcRemoteVideoStreamTypeHigh 

大流,高清画质。

kNERtcRemoteVideoStreamTypeLow 

小流,低清画质。

◆ NERtcRenderType

视频渲染类型。

枚举值
kNERtcRenderDefault 

默认视频渲染类型。

kNERtcRenderOpenGL 

OpenGLES 渲染。

kNERtcRenderMetal 

Metal 渲染。

◆ NERtcSessionLeaveReason

用户离开房间的原因。

枚举值
kNERtcSessionLeaveNormal 

正常离开。

kNERtcSessionLeaveForFailOver 

用户断线导致离开房间。

kNERTCSessionLeaveForUpdate 

用户因 Failover 导致离开房间,仅 SDK 内部使用。

kNERtcSessionLeaveForKick 

用户被踢导致离开房间。

kNERtcSessionLeaveTimeout 

用户超时退出房间。

◆ NERtcStreamChannelType

SEI发送的流通道类型。

枚举值
kNERtcStreamChannelTypeMainStream 

主流通道。

kNERtcStreamChannelTypeSubStream 

辅流通道。

◆ NERtcStreamFallbackOptions

枚举值
kNERtcStreamFallbackOptionDisabled 

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

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

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

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

◆ NERtcSubStreamContentPrefer

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

枚举值
kNERtcSubStreamContentPreferMotion 

(默认)内容类型为动画。

  • 当共享的内容是视频、电影或游戏时,推荐选择该内容类型。
  • 当用户设置内容类型为动画时,按用户设置的帧率处理。
kNERtcSubStreamContentPreferDetails 

内容类型为细节。

  • 当共享的内容是图片或文字时,推荐选择该内容类型。
  • 当用户设置内容类型为细节时,最高允许用户设置到 10 帧,设置超过10帧时,按10帧处理。

◆ NERtcTransportType

云代理模式。

枚举值
NERtcTransportTypeNoneProxy 

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

NERtcTransportTypeUDPProxy 

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

◆ NERtcVideoCropMode

视频裁剪模式

枚举值
kNERtcVideoCropDefault 

不裁剪。

kNERtcVideoCropMode16_9 

16:9

kNERtcVideoCropMode4_3 

4:3

kNERtcVideoCropMode1_1 

1:1

◆ NERtcVideoDeviceState

视频设备状态无限制,SDK 可以完全控制 Audio Session。

枚举值
kNERtcVideoDeviceStateInitialized 

已初始化。

kNERtcVideoDeviceStateStarted 

已启动。

kNERtcVideoDeviceStateStoped 

已停止。

kNERtcVideoDeviceStateUnInitialized 

反初始化。

◆ NERtcVideoDeviceType

视频设备类型。

枚举值
kNERtcVideoDeviceTypeUnknown 

未知视频设备。

kNERtcVideoDeviceTypeCapture 

视频采集设备。

◆ NERtcVideoFormatType

视频格式类型

枚举值
kNERtcVideoFormatI420 

I420 视频格式。

kNERtcVideoFormatNV12 

NV12 视频格式。

kNERtcVideoFormatBGRA 

BGRA 视频格式。

◆ NERtcVideoFrameRate

视频帧率。

  • kNERtcVideoFrameRateFpsDefault:主流默认根据设置的maxProfile选择 , 辅流默认kNERtcVideoFrameRateFps7。
枚举值
kNERtcVideoFrameRateFpsDefault 

0 fps.

kNERtcVideoFrameRateFps7 

7 fps.

kNERtcVideoFrameRateFps10 

10 fps.

kNERtcVideoFrameRateFps15 

15 fps.

kNERtcVideoFrameRateFps24 

24 fps.

kNERtcVideoFrameRateFps30 

30 fps.

kNERtcVideoFrameRateFps60 

60 fps.

◆ NERtcVideoMirrorMode

视频镜像模式。

枚举值
kNERtcVideoMirrorModeAuto 

(默认)由 SDK 决定镜像模式

kNERtcVideoMirrorModeEnabled 

启用镜像模式。

kNERtcVideoMirrorModeDisabled 

关闭镜像模式。

◆ NERtcVideoOutputOrientationMode

视频旋转方向模式。

枚举值
kNERtcVideoOutputOrientationModeAdaptative 

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

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

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

kNERtcVideoOutputOrientationModeFixedPortrait 

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

◆ NERtcVideoProfileType

视频 profile 类型。

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

◆ NERtcVideoPubMode

视频发布模式。

枚举值
kNERtcVideoSendOnPubWithNone 

按对端订阅格式发流。

kNERtcVideoSendOnPubWithHigh 

初始发送大流。

kNERtcVideoSendOnPubWithLow 

初始发布小流。

kNERtcVideoSendOnPubWithAll 

初始大小流同时发送。

◆ NERtcVideoRenderScaleMode

视频渲染缩放模式。

枚举值
kNERtcVideoRenderScaleFit 

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

kNERtcVideoRenderScaleFullFill 

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

kNERtcVideoRenderScaleCropFill 

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

◆ NERtcVideoRotationMode

视频旋转模式。

枚举值
NERtcVideoRotationModeBySystem 

(默认)通过系统设备方向来判断视频旋转模式。如果本地系统设备横向放置,本地画面在本地和远端将展示为横屏模式。

NERtcVideoRotationModeByApp 

通过 App 方向来判断视频旋转模式。如果本地 App UI 切换到横屏,本地画面在本地和远端也将展示为横屏模式。

◆ NERtcVideoRotationType

视频数据的旋转方向

枚举值
kNERtcVideoRotation_0 

0 度。

kNERtcVideoRotation_90 

90 度。

kNERtcVideoRotation_180 

180 度。

kNERtcVideoRotation_270 

270 度。

◆ NERtcVoiceBeautifierType

美声 预设值。

枚举值
kNERtcVoiceBeautifierOff 

(默认)关闭美声效果。

kNERtcVoiceBeautifierMuffled 

低沉。

kNERtcVoiceBeautifierMellow 

圆润。

kNERtcVoiceBeautifierClear 

清澈。

kNERtcVoiceBeautifierMagnetic 

磁性。

kNERtcVoiceBeautifierRecordingStudio 

录音棚。

kNERtcVoiceBeautifierNature 

天籁。

kNERtcVoiceBeautifierKTV 

KTV。

kNERtcVoiceBeautifierRemote 

悠远。

kNERtcVoiceBeautifierChurch 

教堂。

kNERtcVoiceBeautifierBedroom 

卧室。

kNERtcVoiceBeautifierLive 

Live。

◆ NERtcVoiceChangerType

变声 预设值。

枚举值
kNERtcVoiceChangerOff 

(默认)关闭变声音效。

kNERtcVoiceChangerRobot 

机器人。

kNERtcVoiceChangerGaint 

巨人。

kNERtcVoiceChangerHorror 

恐怖。

kNERtcVoiceChangerMature 

成熟。

kNERtcVoiceChangerManToWoman 

男变女。

kNERtcVoiceChangerWomanToMan 

女变男。

kNERtcVoiceChangerManToLoli 

男变萝莉。

kNERtcVoiceChangerWomanToLoli 

女变萝莉。