实时音视频

  • 实时音视频 > API 文档 > HarmonyOS >QNTypeDefine

    QNTypeDefine

    最近更新时间: 2024-11-01 11:27:24

    类型定义管理类
    Index
    Enum
    Class
    Callback
    Enum
    QNErrorCode
    • export enum QNErrorCode
    • 错误码

      code describe message
      OK 成功
      TokenError 加房 token 错误 请检查 token 是否合法
      TokenExpired 加房 token 过期 请检查 token 的时效性
      RoomClosed 房间被管理员关闭
      RoomFull 房间人数已满
      UserAlreadyExist 房间内已经有同名用户 后台如果配置为开启【禁止自动踢人】,则同一用户重复加入/未正常退出再加入会触发此错误,您的业务可根据实际情况选择配置
      NoPermission 发布等动作无权限
      InvalidParameter 操作参数错误,请检查操作的参数是否合法
      MediaNotSupport 媒体能力不支持
      StreamExist 单路转推的 StreamID 已存在
      AuthFailed 加入房间认证失败 服务验证时出错,可能为服务网络异常。建议重新尝试加入房间
      InvalidState 非法状态下进行接口调用 请检查实际房间状态
      ReconnectFailed 房间连接状态断开,并且重连失败
      NetworkTimeout 信令交互超时
      Fatal 无法处理的、非预期的错误,通常这个错误会有具体的错误提示
      StreamNotExist 单路转推流不存在
      ServerUnavailable 服务不可用
      OperationTimeout 操作超时
      LiveStreamingClosed 转推任务已关闭
      CameraInitFailed 系统摄像头错误
      CameraCaptureFailed 摄像头被其他应用抢占
      MicInitFailed 麦克风初始化失败,有可能是没有权限或者设备麦克风被占用
      MicCaptureFailed 麦克风采集失败
      SpeakerInitFailed 扬声器初始化失败
      SpeakerPlayoutFailed 扬声器播放失败
      InvalidClientMode 非法连接模式
      InvalidClientRole 非法用户角色
      FetchTokenFailed 上传日志获取 token 失败
      ReadFileFailed 上传日志文件读取失败
      InvalidDir 非法的日志文件存储路径
      NotInitialized 对象实例未初始化
      UnauthorizedDomain CDN 转推域名未授权
      DuplicatedOperation DuplicatedOperation
    QNLogLevel
    • export enum QNLogLevel
    • 日志等级

      code describe message
      None 关闭日志
      Verbose Verbose 等级
      Info Info 等级
      Warning Warning 等级
      Error Error 等级
    QNTransportPolicy
    • export enum QNTransportPolicy
    • 媒体传输策略

      code describe message
      UDP 强制使用 UDP 做媒体传输
      TCP 强制使用 TCP 做媒体传输
      PreferUDP 优先使用 UDP 做媒体传输,允许自动切换 TCP
    QNClientMode
    • export enum QNClientMode
    • 房间的模式

      code describe message
      RTC 通信场景,用于常见的一对一通话或群聊,该场景中的用户均可以发布和订阅音视频轨道
      Live 直播场景,有主播和观众两种用户角色,可以通过 QNRTCClient.setClientRole 方法设置用户角色为主播或观众。主播可以发布和订阅音视频轨道,而观众只能订阅音视频轨道,无法发布
    QNClientRole
    • export enum QNClientRole
    • 房间的模式

      code describe message
      Broadcaster 主播角色,拥有发布和订阅权限
      Audience 观众角色,仅有订阅权限,且仅在房间类型为 Live 时生效
    QNConnectionState
    • export enum QNConnectionState
    • 房间连接状态

      code describe message
      Disconnected,SDK 出现无法恢复错误时也进入该状态 未连接状态
      Connecting 正在连接
      Connected 连接成功
      Reconnecting 正在重连
      Reconnected 重连成功
    Type
    • export enum Type
    • 转推操作类型

      code describe message
      Start 开始推流的操作
      Stop 停止推流的操作
    QNTrackProfile
    • export enum QNTrackProfile
    • 大小流等级

      code describe message
      Low 低分辨率
      Medium 中分辨率
      High 高分辨率
    Reason
    • export enum Reason
    • 连接断开的原因

      code describe message
      Leave 主动退出
      KickedOut 被踢出房间
      RoomClosed 房间被关
      RoomFull 房间人数已满
      ReasonError 发生错误异常断开
    QNNetworkGrade
    • export enum QNNetworkGrade
    • 网络质量等级

      code describe message
      Invalid 初始状态
      Excellent 网络优
      Good 网络良
      General 网络一般
      Poor 网络差
    QNDegradationPreference
    • export enum QNDegradationPreference
    • 视频质量降级模式

      code describe message
      MaintainFrameRate 保持帧率
      MaintainResolution 保持分辨率
      Blanced 平衡调节分辨率和帧率
      AdaptBitrateOnly 保持分辨率和帧率,适当调节码率
      Default RTC 模式下使用 Blanced,Live 模式下使用 MaintainResolution
    QNEncoderStretchMode
    • export enum QNEncoderStretchMode
    • 视频编码缩放模式

      code describe message
      ResolutionAdaptive 裁剪模式,画面不能保证完整,当采集宽高比和编码宽高比不一致时,SDK 内部会自动调整裁剪画面
      ResolutionFit 填充模式,保证画面完整,当采集宽高比和编码宽高比不一致时,造成的视窗未被填满的区域填充黑色
    QNCameraFacing
    • export enum QNCameraFacing
    • 定义 Track 的类型

      code describe message
      Invalid 无效的摄像头
      Front 前置摄像头
      Back 后置摄像头
    QNStretchMode
    • export enum QNStretchMode
    • 定义 Track 的类型

      code describe message
      StretchInvalid 无效的渲染模式
      StretchFill 在保持长宽比的前提下,缩放视频,使其充满容器
      StretchFit 在保持长宽比的前提下,缩放视频,使其在容器内完整显示,边缘部分填充黑边
      StretchScaleToFit 缩放视频,使其填充满容器,可能导致拉伸变形
    Class
    QNRTCSetting
    • export class QNRTCSetting
    • RTC SDK 初始化配置项

      Parameters
      • isEncoderQualityModeEnabled: booleam

        是否开启编码器质量优先

      • logLevel: QNLogLevel

        日志等级配置

      • policy: QNTransportPolicy

        传输策略配置

      • encoderType: QNVideoEncoderType

        编码类型配置

      • mcuDomains: string[]

        自定义域名配置

      • reconnectionTimeout: number

        重连超时时间配置

    QNLogConfig
    • export class QNLogConfig
    • 日志配置类

      Parameters
      • dir: string

        日志存储路径

      • tag: string

        日志的标签

      • maxSizeInBytes: number

        设置日志文件大小的最大限制

      • logLevel: QNLogLevel

        设置日志等级

    QNRTCClientConfig
    • export class QNRTCClientConfig
    • 连接对象配置类

      Parameters
    QNAudioQuality
    • export class QNAudioQuality
    • 音频质量配置类

      Parameters
      • sampleRate: number

        采样率

      • channelCount: number

        声道数

      • bitsPerSample: number

        位宽

      • bitrate: number

        码率,单位 kbps

    QNMicrophoneAudioTrackConfig
    • export class QNMicrophoneAudioTrackConfig
    • 麦克风采集配置

      Parameters
    QNVideoEncoderConfig
    • export class QNVideoEncoderConfig
    • 视频编码配置类

      Parameters
      • width: number

        编码宽度

      • height: number

        编码高度

      • frameRate: number

        编码帧率

      • bitrate: number

        编码码率,单位 kbps

      • prefer: number

        码率控制策略

      • stretchMode: number

        缩放模式

    QNVideoCaptureConfig
    • export class QNVideoCaptureConfig
    • 视频采集配置类

      Parameters
      • width: number

        采集宽度

      • height: number

        采集高度

      • frameRate: number

        采样帧率

    QNCameraVideoTrackConfig
    • export class QNCameraVideoTrackConfig
    • 摄像头 Track 配置类

      Parameters
    QNNetworkQuality
    • export class QNNetworkQuality
    • 网络质量

      Parameters
    QNLocalAudioTrackStats
    • export class QNLocalAudioTrackStats
    • 近端音频轨道的统计数据

      Parameters
      • uplinkBitrate: number

        近端音频上行码率,单位 bps

      • uplinkRtt: number

        近端音频上行网络延时,单位毫秒

      • uplinkLostrate: number

        近端音频上行丢包率百分比,范围 [0, 100]

    QNLocalVideoTrackStats
    • export class QNLocalVideoTrackStats
    • 近端视频轨道的统计数据

      Parameters
      • profile: QNTrackProfile

        近端视频上行 profile

      • uplinkFramerate: number

        近端视频上行帧率

      • uplinkBitrate: number

        近端视频上行码率,单位 bps

      • uplinkRtt: number

        近端视频上行网络延时,单位毫秒

      • uplinkLostrate: number

        近端视频上行丢包率百分比,范围 [0, 100]

      • uplinkFrameWidth: number

        近端上行视频帧的宽度,该数值为 SDK 实际对齐后编码发布的视频帧宽度

      • uplinkFrameHeight: number

        近端上行视频帧的高度,该数值为 SDK 实际对齐后编码发布的视频帧高度

      • captureFramerate: number

        本地采集的视频帧率,单位 fps

      • captureFrameWidth: number

        本地采集的视频帧宽度

      • captureFrameHeight: number

        本地采集的视频帧高度

      • targetFramerate: number

        期望的视频编码帧率,单位 fps

      • targetFrameWidth: number

        期望的视频编码宽度

      • targetFrameHeight: number

        期望的视频编码高度

    QNRemoteAudioTrackStats
    • export class QNRemoteAudioTrackStats
    • 远端音频轨道的统计数据

      Parameters
      • downlinkBitrate: number

        远端音频下行码率,单位 bps(当前应用下载对应轨道时的码率,和远端用户上行无关)

      • downlinkLostrate: number

        远端音频下行丢包率,范围 [0, 100](当前应用下载对应轨道时的丢包率,和远端用户上行无关)

      • uplinkRtt: number

        远端音频上行网络延时,单位毫秒(表示远端用户上传自身音频数据时的延时)

      • uplinkLostrate: number

        远端音频上行丢包率百分比,范围 [0, 100](表示远端用户上传自身音频数据时的丢包率)

    QNRemoteVideoTrackStats
    • export class QNRemoteVideoTrackStats
    • 远端视频轨道的统计数据

      Parameters
      • profile: QNTrackProfile

        远端视频 profile(当前应用正在接收的视频轨道的 profile)

      • downlinkFramerate: number

        远端视频下行帧率(当前应用正在下载的轨道的帧率)

      • downlinkBitrate: number

        远端视频下行码率,单位 bps(当前应用下载对应轨道时的码率,和远端用户上行无关)

      • downlinkLostrate: number

        远端视频下行丢包率,范围 [0, 100](当前应用下载对应轨道时的丢包率,和远端用户上行无关)

      • uplinkRtt: number

        远端视频上行网络时延,单位毫秒(表示远端用户上传自身视频数据时的延时)

      • uplinkLostrate: number

        远端视频上行丢包率百分比,范围 [0, 100](表示远端用户上传自身音频数据时的丢包率))

      • uplinkFrameWidth: number

        远端上行视频帧宽度(表示远端用户编码输出的视频宽度)

      • uplinkFrameHeight: number

        远端上行视频帧高度(表示远端用户编码输出的视频高度)

    QNDirectLiveStreamingConfig
    • export class QNDirectLiveStreamingConfig
    • 远端视频轨道的统计数据

      Parameters
      • localAudioTrack: QNLocalAudioTrack | null

        单路转推任务中的音频轨

      • localVideoTrack: QNLocalVideoTrack | null

        单路转推任务中的视频轨

      • streamId: string

        转推任务的 streamID

      • publishUrl: string

        转推任务的推流地址

    QNConnectionDisconnectedInfo
    • export class QNConnectionDisconnectedInfo
    • 连接断开信息

      Parameters
      • reason: Reason

        连接断开的原因

      • errorCode: QNErrorCode

        连接断开的错误码

      • errorMessage: string

        连接断开的错误信息

    QNLiveStreamingErrorInfo
    • export class QNLiveStreamingErrorInfo
    • 连接断开信息

      Parameters
      • type: Type

        出现错误的操作类型

      • code: number

        错误码

      • message: string

        错误信息

    QNZoomRatioRange
    • export class QNZoomRatioRange
    • 摄像头缩放范围

      Parameters
      • min: number

        设备支持的缩放最小值

      • max: number

        设备支持的缩放最大值

    QNExposureBiasRange
    • export class QNExposureBiasRange
    • 摄像头曝光范围

      Parameters
      • min: number

        设备支持的曝光最小值

      • max: number

        设备支持的曝光最大值

    Callback
    QNPublishResultCallback
    • export type QNPublishResultCallback = (onPublished: boolean, errorCode: number, errorMessage: string) => void
    • 用户发布 Track 的 Callback

      此接口的回调在调用 Publish 配置之后返回

    QNUploadLogResultCallback
    • export type QNUploadLogResultCallback = (fileName: string, code: number, remaining: number) => void
    • 日志文件上传结果的 Callback.

      此接口的回调在调用 SetLogConfig 设置日志文件配置之后才会有效,如有需要可关注返回的 code 值,方便定位失败原因

    QNCameraSwitchResultCallback
    • export type QNCameraSwitchResultCallback = (facing: QNCameraFacing, errorMessage: string) => void
    • 切换摄像头返回结果的 Callback.

      此接口的回调在调用 SwitchCamera 配置之后返回

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