typedef NS_ENUM(NSInteger, ByteRTCNetworkDetectionStartReturn)
开始探测的返回值 startNetworkDetection:uplinkBandwidth:downlink:downlinkBandwidth: 返回对象类型
| 类型 | 值 | 说明 |
|---|---|---|
| ByteRTCNetworkDetectionStartReturnSuccess | 0 | 成功开始探测。 |
| ByteRTCNetworkDetectionStartReturnParamErr | 1 | 开始探测失败。参数错误,上下行探测均为 false,或期望带宽超过了范围 [100,10000] |
| ByteRTCNetworkDetectionStartReturnStreaming | 2 | 开始探测失败。失败原因为,本地已经开始推拉流 |
| ByteRTCNetworkDetectionStartReturnStarted | 3 | 已经开始探测,无需重复开启 |
| ByteRTCNNetworkDetectionStartReturnNotSupport | 4 | 不支持该功能 |
typedef NS_ENUM(NSInteger, ByteRTCErrorCode)
回调错误码。 SDK 内部遇到不可恢复的错误时,会通过 rtcEngine:onError: 回调通知用户。
| 类型 | 值 | 说明 |
|---|---|---|
| ByteRTCErrorCodeInvalidToken | -1000 | Token 无效。 调用 joinRoomByKey:roomId:userInfo:rtcRoomConfig: 方法时使用的 Token 无效或过期失效。需要用户重新获取 Token,并调用 updateToken: 方法更新 Token。 |
| ByteRTCErrorCodeJoinRoom | -1001 | 加入房间错误。 调用 joinRoomByKey:roomId:userInfo:rtcRoomConfig: 方法时发生未知错误导致加入房间失败。需要用户重新加入房间。 |
| ByteRTCErrorCodeNoPublishPermission | -1002 | 没有发布音视频流权限。 用户在所在房间中发布音视频流失败,失败原因为用户没有发布流的权限。 |
| ByteRTCErrorCodeNoSubscribePermission | -1003 | 没有订阅音视频流权限。 用户订阅所在房间中的音视频流失败,失败原因为用户没有订阅流的权限。 |
| ByteRTCErrorCodeDuplicateLogin | -1004 | 用户被踢出房间: + 本地用户所在房间中有相同用户 ID 的用户加入房间,导致前者被踢出房间; + 因调用踢出用户的 OpenAPI,被踢出房间; + 因调用解散房间的 OpenAPI,离开房间。 |
| ByteRTCErrorCodeOverStreamSubscribeLimit | -1070 | 订阅音视频流失败,订阅音视频流总数超过上限。 游戏场景下,为了保证音视频通话的性能和质量,服务器会限制用户订阅的音视频流总数。当用户订阅的音视频流总数已达上限时,继续订阅更多流时会失败,同时用户会收到此错误通知。 |
| ByteRTCErrorCodeOverStreamPublishLimit | -1080 | 发布流失败,发布流总数超过上限。 RTC 系统会限制单个房间内发布的总流数,总流数包括视频流、音频流和屏幕流。如果房间内发布流数已达上限时,本地用户再向房间中发布流时会失败,同时会收到此错误通知。 |
| ByteRTCErrorCodeOverScreenPublishLimit | -1081 | 发布屏幕流失败,发布流总数超过上限。 RTC 系统会限制单个房间内发布的总流数,总流数包括视频流、音频流和屏幕流。如果房间内发布流数已达上限时,本地用户再向房间中发布流时会失败,同时会收到此错误通知。 |
| ByteRTCErrorCodeOverVideoPublishLimit | -1082 | 发布视频流总数超过上限。 RTC 系统会限制单个房间内发布的视频流数。如果房间内发布视频流数已达上限时,本地用户再向房间中发布视频流时会失败,同时会收到此错误通知。 |
typedef NS_ENUM(NSInteger, ByteRTCWarningCode)
回调警告码。 警告码说明 SDK 内部遇到问题正在尝试恢复。警告码仅作通知。
| 类型 | 值 | 说明 |
|---|---|---|
| ByteRTCWarningCodeJoinRoomFailed | -2001 | 进房失败。 初次进房或者由于网络状况不佳断网重连时,由于服务器错误导致进房失败。SDK 会自动重试进房。 |
| ByteRTCWarningCodePublishStreamFailed | -2002 | 发布音视频流失败。 当你在所在房间中发布音视频流时,由于服务器错误导致发布失败。SDK 会自动重试发布。 |
| ByteRTCWarningCodeSubscribeStreamFailed404 | -2003 | 订阅音视频流失败。 当前房间中找不到订阅的音视频流导致订阅失败。SDK 会自动重试订阅,若仍订阅失败则建议你退出重试。 |
| ByteRTCWarningCodeSubscribeStreamFailed5xx | -2004 | 订阅音视频流失败。 当你订阅所在房间中的音视频流时,由于服务器错误导致订阅失败。SDK 会自动重试订阅。 |
| ByteRTCWarningCodePublishStreamForbiden | -2009 | 当调用 setUserVisibility: 将自身可见性设置为 false 后,再尝试发布流会触发此警告。 |
| ByteRTCWarningCodeSendCustomMessage | -2011 | 发送自定义广播消息失败,当前你未在房间中。 |
| ByteRTCWarningCodeCodeUserNotifyStop | -2013 | 当房间内人数超过 500 人时,停止向房间内已有用户发送 rtcEngine:onUserJoined:elapsed: 和 rtcEngine:onUserLeave:reason: 回调,并通过广播提示房间内所有用户。 |
| ByteRTCWarningCodeNoCameraPermission | -5001 | 摄像头权限异常,当前应用没有获取摄像头权限 |
| ByteRTCWarningCodeNoMicrophonePermission | -5002 | 麦克风权限异常,当前应用没有获取麦克风权限 @deprecated since 333.1, use ByteRTCMediaDeviceWarning instead |
| ByteRTCWarningCodeAudioDeviceManagerRecordingStartFail | -5003 | 音频采集设备启动失败。 启动音频采集设备失败,当前设备可能被其他应用占用。 @deprecated since 333.1, use ByteRTCMediaDeviceWarning instead |
| ByteRTCWarningCodeAudioDeviceManagerPlayoutStartFail | -5004 | 音频播放设备启动失败警告。 可能由于系统资源不足,或参数错误。 @deprecated since 333.1, use ByteRTCMediaDeviceWarning instead |
| ByteRTCWarningCodeNoRecordingDevice | -5005 | 无可用音频采集设备。 启动音频采集设备失败,请插入可用的音频采集设备。 @deprecated since 333.1, use ByteRTCMediaDeviceWarning instead |
| ByteRTCWarningCodeNoPlayoutDevice | -5006 | 无可用音频播放设备。 启动音频播放设备失败,请插入可用的音频播放设备。 @deprecated since 333.1, use ByteRTCMediaDeviceWarning instead |
| ByteRTCWarningCodeRecordingSilence | -5007 | 当前音频设备没有采集到有效的声音数据,请检查更换音频采集设备。 @deprecated since 333.1, use ByteRTCMediaDeviceWarning instead |
| ByteRTCWarningCodeMediaDeviceOperationDennied | -5008 | 媒体设备误操作警告。 使用自定义采集时,不可调用内部采集开关,调用时触发此警告。 @deprecated since 333.1, use ByteRTCMediaDeviceWarning instead |
| ByteRTCWarningSetScreenAudioSourceTypeFailed | -5009 | 不支持在 publishScreen: 之后,通过 setScreenAudioSourceType: 设置屏幕音频采集类型 |
| ByteRTCWarningSetScreenAudioStreamIndexFailed | -5010 | 不支持在 publishScreen: 之后,通过 setScreenAudioStreamIndex: 设置屏幕音频混流类型 |
| ByteRTCWarningInvalidVoicePitch | -5011 | 设置语音音高不合法 |
| ByteRTCWarningCodeInvalidCanvasHandle | -6001 | 指定的内部渲染画布句柄无效。 当你调用 setLocalVideoCanvas:withCanvas: 或 setRemoteVideoCanvas:withIndex:withCanvas: 时指定了无效的画布句柄,触发此回调。 |
typedef NS_ENUM(NSInteger, ByteRTCTranscodingError)
转推直播功能错误码。
| 类型 | 值 | 说明 |
|---|---|---|
| ByteRTCTranscodingErrorOK | 0 | 推流成功。 |
| ByteRTCTranscodingErrorInvalidArgument | 1 | 推流参数错误。你必须更新合流参数并重试。 |
| ByteRTCTranscodingErrorSubscribe | 2 | 和 RTC 服务端建立连接失败。会自动重连 |
| ByteRTCTranscodingErrorProcessing | 3 | 合流服务中间过程存在错误,建议重试。 |
| ByteRTCTranscodingErrorPublish | 4 | 推流失败,可以等待服务端重新推流。 |
typedef NS_ENUM(NSInteger, ByteRTCLoginErrorCode)
登录结果
调用 login:uid: 登录的结果,会通过 rtcEngine:onLoginResult:errorCode:elapsed: 回调通知用户。
| 类型 | 值 | 说明 |
|---|---|---|
| ByteRTCLoginErrorCodeSuccess | 0 | 调用 login:uid: 方法登录成功。 |
| ByteRTCLoginErrorCodeInvalidToken | -1000 | 调用 login:uid: 方法时使用的 Token 无效或过期失效。需要用户重新获取 Token。 |
| ByteRTCLoginErrorCodeLoginFailed | -1001 | 登录错误 调用 login:uid: 方法时发生未知错误导致登录失败。需要用户重新登录。 |
| ByteRTCLoginErrorCodeInvalidUserId | -1002 | 调用 login:uid: 方法时传入的用户 ID 有问题。 |
| ByteRTCLoginErrorCodeServerError | -1003 | 调用 login:uid: 登录时服务器错误。 |
typedef NS_ENUM(NSInteger, ByteRTCUserMessageSendResult)
发送消息结果,成功或失败,及失败原因
| 类型 | 值 | 说明 |
|---|---|---|
| ByteRTCUserMessageSendResultSuccess | 0 | 发送消息成功 |
| ByteRTCUserMessageSendResultTimeout | 1 | 发送超时,没有发送。 |
| ByteRTCUserMessageSendResultBroken | 2 | 通道断开,没有发送 |
| ByteRTCUserMessageSendResultNoReceiver | 3 | 找不到接收方 |
| ByteRTCUserMessageSendResultNoRelayPath | 4 | 获取级联路径失败 |
| ByteRTCUserMessageSendResultNotJoin | 100 | 消息发送方没有加入房间 |
| ByteRTCUserMessageSendResultInit | 101 | 连接未完成初始化 |
| ByteRTCUserMessageSendResultNoConnection | 102 | 没有可用的数据传输通道连接 |
| ByteRTCUserMessageSendResultExceedMaxLength | 103 | 消息超过最大长度,当前为64KB |
| ByteRTCUserMessageSendResultEmptyUser | 104 | 接收消息的单个用户 id 为空 |
| ByteRTCUserMessageSendResultNotLogin | 105 | 房间外或业务服务器消息发送方没有登录 |
| ByteRTCUserMessageSendResultServerParamsNotSet | 106 | 发送消息给业务方服务器之前没有设置参数 |
| ByteRTCUserMessageSendResultUnknown | 1000 | 失败,未知错误。 |
typedef NS_ENUM(NSInteger, ByteRtcTranscoderErrorCode)
转推直播功能错误码。
| 类型 | 值 | 说明 |
|---|---|---|
| TranscoderErrorOK | 0 | 推流成功。 |
| TranscoderErrorInvalidParam | 1091 | 推流参数无效,检查合流参数合法性。 |
| TranscoderErrorInvalidState | 1092 | 状态错误,需要在状态机正常状态下发起操作 |
| TranscoderErrorInvalidOperator | 1093 | 无效操作 |
| TranscoderErrorTimeOut | 1094 | 超时,请检查网络状态并重试 |