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

浏览源代码.

枚举

enum  NERtcConnectionStateType {
  kNERtcConnectionStateUnknown = 0 , kNERtcConnectionStateDisconnected = 1 , kNERtcConnectionStateConnecting = 2 , kNERtcConnectionStateConnected = 3 ,
  kNERtcConnectionStateReconnecting = 4 , kNERtcConnectionStateFailed = 5
}
 当前 engine 的连接状态 更多...
 
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
}
 当前engine连接状态变更的原因 更多...
 
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  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  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  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 

音频播放设备。

◆ 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 

完成录制。

◆ 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 处于活动状态

◆ NERtcAudioType

音频类型

  • kNERtcAudioTypePCM16: PCM16
枚举值
kNERtcAudioTypePCM16 

PCM 16。

◆ 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

当前 engine 的连接状态

枚举值
kNERtcConnectionStateUnknown 

引擎尚未初始化。

kNERtcConnectionStateDisconnected 

尚未加入房间。

kNERtcConnectionStateConnecting 

正在加入房间。

kNERtcConnectionStateConnected 

加入房间成功。

kNERtcConnectionStateReconnecting 

正在尝试重新加入房间。

kNERtcConnectionStateFailed 

加入房间失败。

◆ NERtcDegradationPreference

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

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

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

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

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

kNERtcDegradationMaintainQuality 

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

kNERtcDegradationBalanced 

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

◆ NERtcEncryptionMode

加密模式

枚举值
NERtcEncryptionModeGMCryptoSM4ECB 

128 位 SM4 加密,ECB 模式。

◆ 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。

◆ 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帧处理。

◆ 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 

普清(160×120/90 @15fps)

kNERtcVideoProfileLow 

标清(320x180/240 @15fps)

kNERtcVideoProfileStandard 

高清(640x360/480 @30fps)

kNERtcVideoProfileHD720P 

超清(1280x720 @30fps)

kNERtcVideoProfileHD1080P 

1080P(1920x1080 @30fps)

kNERtcVideoProfileMAX 

普清(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 

女变萝莉。