更新时间:2024-06-27 GMT+08:00

主入口(HWLLSPlayer)

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

表1 主入口接口

接口

描述

checkSystemRequirements

检测浏览器是否支持低时延直播Web SDK。

getVersion

获取SDK版本号。

createClient

创建一个直播拉流客户端对象,如果需要拉取多个直播流则需要创建多个客户端对象。

uploadLog

上传日志。

saveLog

保存日志

setParameter

设置全局配置参数。

setLogLevel

设置Console上打印的日志级别。

setReportConfig

设置打点能力以及打点和日志上传的认证策略。

checkSystemRequirements

checkSystemRequirements(): Promise<boolean>

功能说明

检测浏览器是否支持低时延直播Web SDK。

请求参数

返回参数

Promise<boolean>:返回一个Promise对象,true表示浏览器兼容低时延直播Web SDK。如果不兼容,则返回对应Error异常。

由于低延时直播需使用WebRTC能力,存在部分浏览器不支持播放WebRTC的情况,可根据特定错误码(HWLLS_ERROR_WEBRTC_UNSUPPORTED),进行播放降级,请参考SDK使用

getVersion

getVersion(): string

功能说明

获取当前SDK版本号。

请求参数

返回参数

string:SDK当前版本号。

createClient

createClient(type: string): HWLLSClient | HWFlvClient | HWHlsClient

功能说明

创建一个直播拉流客户端对象,如果需要拉取多个直播流则需要创建多个客户端对象。

请求参数

type:string类型,可选。创建的拉流客户端类型。

  • 低时延直播拉流客户端类型:webrtc。
  • flv直播拉流客户端类型:flv。
  • HLS直播拉流客户端类型:hls(预留,暂未开放)。

缺省值:webrtc。

返回参数

client:拉流客户端对象。

uploadLog

async uploadLog(): Promise<void>

功能说明

上传日志。

请求参数

返回参数

Promise<void>:使用tryCatch获取error为数组,返回多个appid对应错误信息。

saveLog

async saveLog(): Promise<Blob>

【功能说明】

为用户提供灵活保存日志的功能

【请求参数】

【返回参数】

Promise<Blob>:经过zip压缩好的Promise<Blob>,用户可以直接保存为zip文件

setParameter

setParameter(parameterKey: string, parameterValue: any): boolean

功能说明

设置全局配置参数。

请求参数

参数名称

参数值

LOADING_CONFIG

LoadingConfig类型,定义如下:

{

netQualityLoading:可选,boolean类型。true表示开启根据网络质量进行loading效果展示,默认值为false,关闭。

netQualityLoadingThreshold:可选,number类型。展示loading效果的网络质量(network-quality)的阈值,默认网络质量等级为5。

frameStuckLoading:可选,boolean类型。true表示开启根据帧卡顿时长进行loading效果展示,默认值为false

frameStuckThreshold:可选,number类型。展示loading效果帧卡顿时长的阈值,单位为100ms。默认值为10,表示帧卡顿时长为1000ms。

}

注意:

需要在起播之前进行设置。

DNS_QUERY_ENABLE

boolean类型,可选,默认为false,true表示开启DNS结果解析,false表示关闭DNS结果解析。

ACCESS_DOMAIN

string类型,可选,默认为空,主要用于拉流环境配置,沟通华为工程师填入。

GLSB_DOMAIN

string类型,可选,默认为空,主要用于GSLB环境配置,沟通华为工程师填入。

返回参数

boolean:配置参数设置结果。true表示参数设置成功,false表示参数设置失败。

setLogLevel

setLogLevel(level: string): boolean

功能说明

设置Console上打印的日志级别,如不设置日志级别,则console日志打印级别默认为error。

请求参数

level:string类型,必选,日志级别标识。

  • none:关闭全部级别的日志打印。
  • error:打印error级别日志。
  • warn:打印warn级别及更高级别日志。
  • info:打印info级别及更高级别日志。
  • debug:打印debug级别及更高级别日志。

返回参数

boolean:设置日志级别结果。true表示日志级别设置成功,false表示日志级别设置失败。

setReportConfig

setReportConfig(reportConfig:ReportConfig):boolear

功能说明

设置打点能力以及打点和日志上传的认证策略。

请求参数

reportConfig:ReportConfig类型,必选。ReportConfig定义如下所示:

  • enable:必选,布尔类型,true表示开启打点,false表示关闭打点。默认true。
  • tokenConfig:可选,对象定义如下所示:
    • enable:布尔类型,true表示开启认证,false表示关闭认证。默认false。
    • tokenInfo:数组类型,数组内部ReportTokenInfo类。ReportTokenInfo定义如下所示:
      • appid:string类型。传入appid。
      • expTimestamp:string类型。过期时间戳,系统当前UNIX时间戳加上鉴权过期时间(推荐7200秒,最长需要小于43200秒,即12个小时)。

        例如:当前UNIX时间戳为:1708531200,鉴权过期时间自定义为7200秒,那么过期的时间戳为:1708538400,即表示该校验字符串在2024-02-22 02:00:00过期。

      • token:string类型。hmac_sha256生成的字符串。hmac_sha256(共享密钥, 过期的时间戳 + appID)。共享密钥由用户控制获取。

返回参数

返回值布尔值, true表示设置成功,false表示设置失败。

开启了认证策略,实际请求状态会通过on函数注册Error回调获得。