QNTypeDefines
Index
Enum
- QNRTCLogLevel
- QNRTCErrorDomain
- QNAudioMixErrorDomain
- QNMediaRelayErrorDomain
- QNMediaRecorderReasonCode
- QNMediaPlayerReasonCode
- QNConnectionState
- QNAuthorizationStatus
- QNAudioMusicMixerState
- QNTrackKind
- QNAudioDeviceType
- QNRTCPolicy
- QNDegradationPreference
- QNAudioScene
- QNVideoEncoderType
- QNVideoFormatPreset
- QNNetworkGrade
- QNClientMode
- QNClientRole
- QNMediaRelayState
- QNVideoFillModeType
- QNTrackProfile
- QNConnectionDisconnectedReason
- QNMediaRecorderState
- QNPlayerState
- QNPlayerEvent
Block
Enum
QNRTCLogLevel
- @typedef NS_ENUM(NSUInteger, QNRTCLogLevel)
-
日志输出等级
code describe message QNRTCLogLevelVerbose Verbose 日志输出 无 QNRTCLogLevelInfo Info 日志输出 无 QNRTCLogLevelWarning Warning 日志输出 无 QNRTCLogLevelError Error 日志输出 无 QNRTCLogLevelNone None 日志输出 无
QNRTCErrorDomain
- NS_ERROR_ENUM(QNRTCErrorDomain)
-
异常的错误码,指代具体出现错误的原因
code describe message QNRTCErrorTokenError 鉴权失败 建议用户收到此错误代码时尝试重新获取 RoomToken 后再次加入房间 QNRTCErrorTokenExpired RoomToken 过期 建议用户收到此错误代码时尝试重新获取 RoomToken 后再次加入房间 QNRTCErrorRoomClosed 房间被管理员关闭 请联系服务器 QNRTCErrorRoomIsFull 房间人数已超过限制 请联系服务器 QNRTCErrorUserAlreadyExist 用户已存在,该用户可能已使用其他设备进入房间 请确认是否已使用其他设备进入房间 QNRTCErrorNoPermission 当在进行踢人合流等操作没有权限时会返回此错误代码 请确定用户在进行操作时是否有对应权限 QNRTCErrorInvalidParameter 参数错误 请确定当前操作输入参数是否合法 QNRTCErrorMediaCapNotSupport 服务不可用 SDK 内部错误。用户无需处理 QNRTCErrorSubscribeDisconnected 订阅失败,或订阅不存在 用户无需处理 QNRTCErrorAuthFailed 鉴权失败 建议用户收到此错误代码时检查网络并尝试重新获取 RoomToken 后再次加入房间 QNRTCErrorRoomStateError 当前房间状态不允许此操作 请在当前操作前,确定房间状态 QNRTCErrorReconnectFailed 房间重连失败 建议重新加入房间 QNRTCErrorNetworkTimeout 网络超时 请确认网络状态 QNRTCErrorFatalError 非预期错误 SDK 内部错误。用户无需处理 QNRTCErrorStreamNotExistError 流不存在 请确认流信息 QNRTCErrorServerUnavailable 服务不可用 请重新尝试 QNRTCErrorOperationTimeoutError 操作超时 请重新尝试 QNRTCErrorLiveStreamingClosedError 流被服务端关闭 请重新转推 QNRTCErrorSignalTimeOut 信令超时 请重新尝试 QNRTCErrorPushAudioBufferFailed 音频重采样失败 SDK 内部错误。用户无需处理 QNRTCErrorFetchToken 上传日志获取 token 失败 日志文件上传相关内部错误 QNRTCErrorReadFile 上传日志文件读取失败 日志文件上传相关内部错误 QNRTCErrorInvalidDir 上传日志路径无效 日志文件上传相关内部错误 QNRTCErrorImageParserFailed 推图片图片解析失败 请检查下推图片传入的源
QNAudioMixErrorDomain
- NS_ERROR_ENUM(QNAudioMixErrorDomain)
-
音频混音错误
code describe message QNAudioMixErrorResampleFailed 音频混音重采样 请重新尝试混音操作 QNAudioMixErrorAudioNotFound 音频文件不存在 请检查音频文件是否实际存在 QNAudioMixErrorIOException 输入输出错误 请检查混音文件是否存在异常 QNAudioMixErrorDecoderException 解码错误 音频格式支持 aac、mp3、mp4、wav、m4r、caf、ogg、opus、m4a、flac QNAudioMixErrorSeekFailed 跳转失败错误 请检查是否在开始混音前执行了 Seek 操作 QNAudioMixErrorInvalidID 唯一标识非法 请检查多音效或多音源使用的唯一标识 ID 是否可用
QNMediaRelayErrorDomain
- NS_ERROR_ENUM(QNMediaRelayErrorDomain)
-
跨房媒体转发错误
code describe message QNMediaRelayErrorTokenError 跨房转推 Token 错误 无 QNMediaRelayErrorAlreadyStart 当前跨房已开始 无 QNMediaRelayErrorNotStart 当前跨房未开始 无 QNMediaRelayErrorDestinationRoomNotExisted 目标房间不存在 无 QNMediaRelayErrorPlayerInDestRoom 已在房间内 无 QNMediaRelayErrorStartFailed 开始失败 无 QNRTCErrorInvalidMode 使用场景不符 无 QNRTCErrorInvalidRole 用户角色不符 无
QNMediaRecorderReasonCode
- NS_ERROR_ENUM(QNMediaRecorderReasonCode)
-
音视频本地录制错误
code describe message QNMediaRecorderReasonCodeNoError 一切正常 无 QNMediaRecorderReasonCodeFormatFailed 封装格式操作失败 无 QNMediaRecorderReasonCodeStreamFailed 流信息操作失败 无 QNMediaRecorderReasonCodeWriteFailed 录制过程中写入失败 无 QNMediaRecorderReasonCodeResampleFailed 录制过程中重采样操作失败 无 QNMediaRecorderReasonCodeNoTrack 没有可录制的流(采集中断或远端取消发布中断超过 5s) 无 QNMediaRecorderReasonCodeConfigChanged 录制源配置被改变 无 QNMediaRecorderReasonCodeOutOfMemory 存储空间不足 无 QNMediaRecorderReasonCodeScaleFailed 录制过程中缩放操作失败 无
QNMediaPlayerReasonCode
- NS_ERROR_ENUM(QNMediaPlayerReasonCode)
-
播放器错误码
code describe message QNMediaPlayerOpenFileFailed 打开文件失败 无 QNMediaPlayerDecoderFailed 解码失败 无 QNMediaPlayerSeekFailed seek 失败 无 QNMediaPlayerInvalidState 无效的播放状态 无
QNConnectionState
- typedef NS_ENUM(NSUInteger, QNConnectionState)
-
房间连接状态
code describe message QNConnectionStateDisconnected 空闲状态,初始状态或者退出后都会进入该状态 无 QNConnectionStateConnecting 正在加入的状态 无 QNConnectionStateConnected 已加入的状态 无 QNConnectionStateReconnecting 正在重连的状态 无 QNConnectionStateReconnected 重连成功的状态 无
QNAuthorizationStatus
- typedef NS_ENUM(NSUInteger, QNAuthorizationStatus)
-
设备授权状态
code describe message QNAuthorizationStatusNotDetermined 还没有确定是否授权 无 QNAuthorizationStatusRestricted 设备受限,一般在家长模式下设备会受限 无 QNAuthorizationStatusDenied 拒绝授权 无 QNAuthorizationStatusAuthorized 已授权 无
QNAudioMusicMixerState
- typedef NS_ENUM(NSUInteger, QNAudioMusicMixerState)
-
背景音乐混音状态
code describe message QNAudioMusicMixerStateIdle 初始状态 无 QNAudioMusicMixerStateMixing 正在混音的状态 无 QNAudioMusicMixerStatePaused 暂停混音的状态态 无 QNAudioMusicMixerStateStopped 停止混音的状态 无 QNAudioMusicMixerStateCompleted 混音完成的状态 无
QNTrackKind
- typedef NS_ENUM(NSUInteger, QNTrackKind)
-
定义 Track 的类型
code describe message QNTrackKindAudio 音频类型 无 QNTrackKindVideo 视频类型 无
QNAudioDeviceType
- typedef NS_ENUM(NSUInteger, QNAudioDeviceType)
-
音频设备的类型
code describe message QNAudioDeviceTypeSpeaker 扬声器 无 QNAudioDeviceTypeReceiver 听筒 无 QNAudioDeviceTypeWiredHeadphone 有线耳机 无 QNAudioDeviceTypeBluetooth 蓝牙 无
QNRTCPolicy
- typedef NS_ENUM(NSUInteger, QNRTCPolicy)
-
媒体流的连接方式
code describe message QNRTCPolicyForceUDP 使用 UDP 无 QNRTCPolicyForceTCP 使用 TCP 无 QNRTCPolicyPreferUDP 优先 UDP,不通的话自动改为 TCP 无
QNDegradationPreference
- typedef NS_ENUM(NSUInteger, QNDegradationPreference)
-
视频质量降级模式
code describe message QNDegradationMaintainFrameRate 保持帧率 无 QNDegradationMaintainResolution 保持分辨率 无 QNDegradationBlanced 平衡调节分辨率和帧率 无 QNDegradationAdaptBitrateOnly 保持分辨率和帧率,适当调节码率 无 QNDegradationDefault RTC 模式下使用 QNDegradationBlanced,Live 模式下使用 QNDegradationMaintainResolution 无
QNAudioScene
- typedef NS_ENUM(NSUInteger, QNAudioScene)
-
音频场景
code describe message QNAudioSceneDefault 默认音频场景 仅发布或仅订阅时为媒体模式,同时发布和订阅时自动切换到通话模式 QNAudioSceneVoiceChat 清晰语聊场景 为了人声清晰使用通话模式,环境音和音乐声会有一定抑制 QNAudioSceneSoundEqualize 音质均衡场景 平衡音质对环境音和音乐声的还原性更优,使用媒体模式
QNVideoEncoderType
- typedef NS_ENUM(NSUInteger, QNVideoEncoderType)
-
音频场景
code describe message QNVideoEncoderToolboxH264 videoToolbox 编码器 硬件编码 QNVideoEncoderOpenH264 七牛自定义 openh264 软件编码
QNVideoFormatPreset
- typedef NS_ENUM(NSUInteger, QNVideoFormatPreset)
-
音频场景
code describe message QNVideoFormatPreset320x180_15 分辨率 320x180, 15fps, 400kbps(RTC), 500kbps(Live) 无 QNVideoFormatPreset320x240_15 分辨率 320x240, 15fps, 500kbps(RTC), 600kbps(Live) 无 QNVideoFormatPreset640x360_15 分辨率 640x360, 15fps, 700kbps(RTC), 800kbps(Live) 无 QNVideoFormatPreset640x360_30 分辨率 640x360, 30fps, 850kbps(RTC), 1050kbps(Live) 无 QNVideoFormatPreset640x480_15 分辨率 640x480, 15fps, 800kbps(RTC), 1100kbps(Live) 无 QNVideoFormatPreset640x480_30 分辨率 640x480, 30fps, 1100kbps(RTC), 1400kbps(Live) 无 QNVideoFormatPreset960x540_15 分辨率 960x540, 15fps, 1000kbps(RTC), 1300kbps(Live) 无 QNVideoFormatPreset960x540_30 分辨率 960x540, 30fps, 1400kbps(RTC), 1700kbps(Live) 无 QNVideoFormatPreset960x720_15 分辨率 960x720, 15fps, 1300kbps(RTC), 1700kbps(Live) 无 QNVideoFormatPreset960x720_30 分辨率 960x720, 30fps, 1700kbps(RTC), 2400kbps(Live) 无 QNVideoFormatPreset1280x720_15 分辨率 1280x720, 15fps, 1600kbps(RTC), 2000kbps(Live) 无 QNVideoFormatPreset1280x720_30 分辨率 1280x720, 30fps, 2200kbps(RTC), 2900kbps(Live) 无 QNVideoFormatPresetNone 无编码预设 默认
QNNetworkGrade
- typedef NS_ENUM(NSUInteger, QNNetworkGrade)
-
网络质量等级
code describe message QNNetworkGradeInvalid 初始状态 无 QNNetworkGradeExcellent 网络优 无 QNNetworkGradeGood 网络良 无 QNNetworkGradeGeneral 网络一般 无 QNNetworkGradePoor 网络差 无
QNClientMode
- typedef NS_ENUM(NSUInteger, QNClientMode)
-
使用场景
code describe message QNClientModeRTC 通信场景(默认) 无 QNClientModeLive 直播场景 无
QNClientRole
- typedef NS_ENUM(NSUInteger, QNClientRole)
-
用户角色
code describe message QNClientRoleBroadcaster 主播角色 无 QNClientRoleAudience 观众角色 无
QNMediaRelayState
- typedef NS_ENUM(NSUInteger, QNMediaRelayState)
-
跨房媒体转发状态
code describe message QNMediaRelayStateSuccess 成功 无 QNMediaRelayStateStopped 主动停止 无 QNMediaRelayStateInvalidToken 无效token 无 QNMediaRelayStateNoRoom 目标房间不存在 无 QNMediaRelayStateRoomClosed 目标房间已关闭 无 QNMediaRelayStatePlayerExisted 目标房间存在相同用户名 无 QNMediaRelayStateUnknown 未知状态 无
QNVideoFillModeType
- typedef enum {...}QNVideoFillModeType
-
视频填充模式
code describe message QNVideoFillModeNone 默认 无 QNVideoFillModeStretch 拉伸以填充整个视图,这可能会使图像超出其正常纵横比 无 QNVideoFillModePreserveAspectRatio 保持源图像的纵横比,添加指定背景色的条 无 QNVideoFillModePreserveAspectRatioAndFill 保持源图像的纵横比,放大其中心以填充视图 无
QNTrackProfile
- typedef NS_ENUM(NSUInteger, QNTrackProfile)
-
大小流等级
code describe message QNTrackProfileLow 低分辨率 无 QNTrackProfileMedium 中分辨率 无 QNTrackProfileHigh 高分辨率 无
QNConnectionDisconnectedReason
- typedef NS_ENUM(NSUInteger, QNConnectionDisconnectedReason)
-
断联原因
code describe message QNConnectionDisconnectedReasonLeave 主动退出 无 QNConnectionDisconnectedReasonKickedOut 被踢出房间 无 QNConnectionDisconnectedReasonRoomClosed 房间被关 无 QNConnectionDisconnectedReasonRoomFull 房间人数已满 无 QNConnectionDisconnectedReasonError 发生错误异常断开 无
QNMediaRecorderState
- typedef NS_ENUM(NSUInteger, QNMediaRecorderState)
-
录制状态
code describe message QNMediaRecorderStateStopped 停止录制 无 QNMediaRecorderStateRecording 录制中 无 QNMediaRecorderStateError 发生错误 无
QNPlayerState
- typedef NS_ENUM(NSUInteger, QNPlayerState)
-
播放器状态
code describe message QNPlayerStateIdle 初始化,停止播放,播放失败等状态 无 QNPlayerStatePrepare 启播过程中状态 无 QNPlayerStatePlaying 播放状态 无 QNPlayerStatePause 暂停状态 无
QNPlayerEvent
- typedef NS_ENUM(NSUInteger, QNPlayerEvent)
-
播放器事件
code describe message QNPlayerEventNone 默认值 无 QNPlayerEventFirstRender 首帧视频渲染 无 QNPlayerEventOpenFileFailed 打开文件或者直播流失败 无 QNPlayerEventDecoderFailed 初始化解码失败或者解码过程中失败 无
Block
QNPublishResultCallback
- typedef void (^QNPublishResultCallback)(BOOL onPublished, NSError *error);
-
用户发布 Track 的 Callback
QNClientRoleResultCallback
- typedef void (^QNClientRoleResultCallback)(QNClientRole newRole, NSError *error);
-
设置用户角色的 Callback.
QNMediaRelayResultCallback
- typedef void (^QNMediaRelayResultCallback)(NSDictionary *state, NSError *error);
-
跨房间媒体转发的 Callback.
此接口回调的是所有跨房目标房间的状态。具体每个目标房间转发状态,需要参考回调参数中目标房间对应的 QNMediaRelayState
QNUploadLogResultCallback
- typedef void (^QNUploadLogResultCallback)(NSString *fileName, int code, int remaining);
-
日志文件上传结果的 Callback.
此接口的回调在调用 setLogConfig 设置日志文件配置之后才会有效,如有需要可关注返回的 code 值,方便定位失败原因
QNCameraSwitchResultCallback
- typedef void (^QNCameraSwitchResultCallback)(BOOL isFrontCamera, NSString *errorMessage);
-
切换摄像头返回结果的 Callback.
此接口的回调在调用 switchCamera 配置之后返回
文档反馈
(如有产品使用问题,请 提交工单)