文档首页/ 视频直播 Live/ 低时延客户端SDK参考/ Web SDK/ 接口参考/ 客户端事件通知(HWLLSClientEvent)
更新时间:2025-04-27 GMT+08:00
分享

客户端事件通知(HWLLSClientEvent)

本章节介绍了低时延直播Web SDK的HWLLSClientEvent接口详情。

表1 HWLLSClientEvent接口

接口

描述

media-statistic

媒体统计事件。

network-quality

网络质量报告事件。

video-broken

视频断流事件,等待恢复中。

audio-broken

音频断流事件,等待恢复中。

video-recovery

视频断流恢复事件,已恢复播放。

audio-recovery

音频断流恢复事件,已恢复播放。

audio-start

音频起播事件。

video-start

视频起播事件。

video-stuck

视频是否停顿事件

fullscreen-status-changed

播放视图是否全屏事件

player-changed

播放降级事件

Error

客户端出现错误事件。

事件注册监听应在业务结束时取消注册,否则注册监听事件累积会有内存泄漏风险。

media-statistic

【事件说明】

媒体统计事件。此事件配合streamStatistic方法使用。

【回调参数】

StatisticInfo:StatisticInfo类型,媒体统计信息。

StatisticInfo定义为:{

  • video:{

    codec: string; // 媒体格式

    bitRate: number; // 码率 kbps

    packetsReceived?: number; // 累计接收包数

    packetsLost?: number; // 累计丢包数

    jitterBufferDelay?: number; // 抖动时延 ms

    frameRate: number; // 接收帧率 fps

    frameDecodedRate?: number; // 解码帧率 fps

    width: number; // 宽度

    height: number; // 高度

    framesReceived?: number; // 累计接收帧数

    framesDecoded?: number; // 累计解码帧数

    framesDropped?: number; // 累计丢帧数

    nackCount?: number; // 累计重传数

    firCount?: number; // 累计关键字请求数

    pliCount?: number; // 累计帧请求数

    frameDecodeAvgTime?: number; // 平均解码时延

    freeze200Count: number; // 200ms卡顿次数

    freeze200Duration: number; // 200ms卡顿时长

    freeze600Count: number; // 600ms卡顿次数

    freeze600Duration: number; // 600ms卡顿时长

    }

  • audio:{

    codec: string; // 媒体格式

    bitRate: number; // 码率 kbps

    packetsReceived?: number; // 累计接收包数

    packetsLost?: number; // 累计丢包数

    jitterBufferDelay?: number; // 抖动时延 ms

    audioLevel?: number; // 音量等级

    freeze200Count: number; // 200ms卡顿次数

    freeze200Duration: number; // 200ms卡顿时长

    }

}

network-quality

【事件说明】

网络质量报告事件。

【回调参数】

NetworkQualityTypes:NetworkQualityTypes类型,网络质量详情。

NetworkQualityTypes枚举值参考如下:

  • NETWORK_QUALITY_UNKNOW = 0,网络质量未知。
  • NETWORK_QUALITY_GREAT = 1,网络质量极好。
  • NETWORK_QUALITY_GOOD = 2,用户主观感觉和极好差不多,但码率可能略低于极好。
  • NETWORK_QUALITY_DEFECTS = 3,网络质量一般,用户主观感受有瑕疵但不影响观看。
  • NETWORK_QUALITY_WEAK = 4,网络质量差,勉强能观看但不流畅。
  • NETWORK_QUALITY_BAD = 5,网络质量很差,严重影响用户观看体验。
  • NETWORK_QUALITY_DISCONNECT = 6,网络质量非常差甚至链接断开,无法观看。

video-broken

【事件说明】

视频断流事件,等待恢复中。

【回调参数】

audio-broken

【事件说明】

音频断流事件,等待恢复中。

【回调参数】

video-recovery

【事件说明】

视频断流(非EOF)恢复事件,已恢复播放。

【回调参数】

audio-recovery

【事件说明】

音频断流(非EOF)恢复事件,已恢复播放。

【回调参数】

audio-start

【事件说明】

音频起播事件。

【回调参数】

video-start

【事件说明】

视频起播事件。

【回调参数】

video-stuck

【事件说明】

视频停顿事件。

【回调参数】

布尔值,True标识停顿,False标识非停顿。

fullscreen-status-changed

【事件说明】

播放视图是否全屏事件

【回调参数】

  • isFullScreen:是否全屏展示。
  • isPause:是否停止播放。

player-changed

【事件说明】

播放降级事件。

【回调参数】

string类型,降级信息。

  • webrtc:标识LLL播放模式。
  • hls:标识hls播放模式。
  • flv:标识flv播放模式。

Error

【事件说明】

客户端错误事件,当出现不可恢复的错误后,Client会上报该事件通知。

【回调参数】

errorInfo:必选,HwLLSError类型,错误信息,详见错误码(HwLLSError)

errorInfo定义为:{

code:必选,number类型,错误码。

message:必选,string类型,错误描述。

getCode(): number, 必选,返回错误码。

getMsg(): string,必选,返回错误描述。

}

在网络防火墙限制(UDP端口限制)或者低时延直播多次重试播放失败的场景下,可根据特定错误码(HWLLS_MEDIA_NETWORK_ERROR、HWLLS_PLAY_WEBRTC_RETRY_FAILED),进行播放降级,请参考SDK使用

相关文档