实时音视频

  • 实时音视频 > API 文档 > iOS >QNTypeDefines

    QNTypeDefines

    最近更新时间: 2024-08-16 17:44:33

    类型定义管理类
    Index
    Enum
    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 配置之后返回

    以上内容是否对您有帮助?
  • Qvm free helper
    Close