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

客户端对象(HWFlvClient)

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

表1 主入口接口

接口

描述

startPlay

开始播放,客户端根据输入的URL到服务端拉取对应的主播流。

switchPlay

快速切换下一路流播放。

stopPlay

停止播放。

replay

重新播放。

resume

恢复播放。

pause

暂停播放。

pauseVideo

暂停视频。

resumeVideo

恢复视频。

pauseAudio

暂停音频。

resumeAudio

恢复音频。

setPlayoutVolume

设置播放音量。

getPlayoutVolume

获取音频音量。

muteAudio

静音。

streamStatistic

设置是否开启流信息统计。

enableStreamStateDetection

开启/关闭音视频码流状态探测功能。

destroyClient

销毁客户端对象。

fullScreenToggle

开启关闭全屏。

startPlay

startPlay(url: string, options: StartPlayOptions): Promise<void>

功能说明

开始播放,客户端根据输入的URL到服务端拉取对应的主播流。

请求参数

  • url:必选,string类型。拉流URL,是以flv结尾的播放地址。
  • options:可选,StartPlayOptions类型。播放配置参数,如果不携带该参数,则复用首次起播携带的options数据。StartPlayOptions定义如下:{
    • elementId:必选,播放DOM标识ID。
    • objectFit:可选,string类型,默认值为cover。支持的枚举值如下:
      • contain:优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频尺寸与显示视窗尺寸不一致,在保持长宽比的前提下,将视频进行缩放后填满视窗,缩放后的视频四周会有一圈黑边。
      • cover:优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,则视频流会按照显示视窗的比例进行周边裁剪或图像拉伸后填满视窗。
      • fill:视频内容完全填充视窗。如果视频的宽高比与视窗不相匹配,那么视频将被拉伸以适应视窗。
    • muted:可选,boolean类型,true表示静音,false表示不静音。默认值为false。
    • sessionId:不需要传。
    • showLoading:可选,boolean类型,true表示开启loading的展示效果,默认为false。当该参数设置为true时,起播loading效果同步开启,播放过程中发生缓冲时loading的效果,需根据setParameter接口中的LOADING_CONFIG进行设置。
    • autoPlay:可选,boolean类型,true表示开启自动起播功能,false表示非自动起播,需要人为触发播放,默认为true。
    • poster:可选,对象定义如下:{
      • url:可选,string类型。设置播放封面图片完整地址,图片格式限JPGPNG和静态GIF格式,大小不超过1MB,尺寸不超过1920 x 1080,文件名不得含有中文字符。
      • mode:可选,string类型。默认值为cover。支持的枚举值如下:{
        • fill:视频内容完全填充视窗,如果视频的宽高比与视窗不相匹配,那么视频将被拉伸以适应视窗。
        • crop:海报(即视频播放封面)原始尺寸大小展示,如果超出播放区域,则会对超出部分进行裁剪,否则在播放窗口居中展示。

        }

      • startEnable:可选,boolean类型。启动播放时是否展示播放封面,true表示展示,false表示不展示播放封面,默认值false。该参数只在设置非自动播放场景下生效。
      • pauseEnable:可选,boolean类型。触发暂停操作时,是否在播放页面展示播放封面,true表示展示播放封面,false表示不展示,默认值false。

      }

    • webrtcConfig:不需要传。
    • schedulePolicy:不需要传。
    • domainPolicy:不需要传。
    • downgradeUrl:不需要传。

返回参数

Promise<void>:返回一个Promise对象。

switchPlay

switchPlay(url: string, options: StartPlayOptions): Promise<void>

功能说明

起播成功后,快速切换下一路流播放。

请求参数

  • url:必选,string类型。拉流URL,是以flv结尾的播放地址。
  • options:可选,StartPlayOptions类型。播放配置参数,如果不携带该参数,则复用首次起播携带的options数据。StartPlayOptions定义如下:{
    • elementId:必选,播放DOM标识ID。
    • objectFit:可选,string类型,默认值为cover。支持的枚举值如下:
      • contain:优先保证视频内容全部显示。视频尺寸等比缩放,直至视频窗口的一边与视窗边框对齐。如果视频尺寸与显示视窗尺寸不一致,在保持长宽比的前提下,将视频进行缩放后填满视窗,缩放后的视频四周会有一圈黑边。
      • cover:优先保证视窗被填满。视频尺寸等比缩放,直至整个视窗被视频填满。如果视频长宽与显示窗口不同,则视频流会按照显示视窗的比例进行周边裁剪或图像拉伸后填满视窗。
      • fill:视频内容完全填充视窗。如果视频的宽高比与视窗不相匹配,那么视频将被拉伸以适应视窗。
    • muted:可选,boolean类型,true表示静音,false表示不静音。默认值为false。
    • sessionId:不需要传。
    • showLoading:可选,boolean类型,true表示开启loading的展示效果,默认为false。当该参数设置为true时,起播loading效果同步开启,播放过程中发生缓冲时loading的效果,需根据setParameter接口中的LOADING_CONFIG进行设置。
    • autoPlay:可选,boolean类型,true表示开启自动起播功能,false表示非自动起播,需要人为触发播放,默认为true。
    • poster:可选,对象定义如下:{
      • url:可选,string类型。设置播放封面图片完整地址,图片格式限JPGPNG和静态GIF格式,大小不超过1MB,尺寸不超过1920 x 1080,文件名不得含有中文字符。
      • mode:可选,string类型。默认值为cover。支持的枚举值如下:{
        • fill:视频内容完全填充视窗,如果视频的宽高比与视窗不相匹配,那么视频将被拉伸以适应视窗。
        • crop:海报(即视频播放封面)原始尺寸大小展示,如果超出播放区域,则会对超出部分进行裁剪,否则在播放窗口居中展示。

        }

      • startEnable:可选,boolean类型。启动播放时是否展示播放封面,true表示展示,false表示不展示播放封面,默认值false。该参数只在设置非自动播放场景下生效。
      • pauseEnable:可选,boolean类型。触发暂停操作时,是否在播放页面展示播放封面,true表示展示播放封面,false表示不展示,默认值false。

      }

    • webrtcConfig:不需要传。
    • schedulePolicy:不需要传。
    • domainPolicy:不需要传。
    • downgradeUrl:不需要传。

返回参数

Promise<void>:返回一个Promise对象。

stopPlay

stopPlay(): boolean

功能说明

停止播放。

请求参数

返回参数

boolean:停止播放的结果。true表示成功,false表示失败。

replay

replay(): Promise<boolean>

功能说明

重新播放。

请求参数

返回参数

Promise<boolean>:重新播放的结果。true表示成功,false表示失败。

resume

resume(): Promise<boolean>

功能说明

恢复播放。

请求参数

返回参数

Promise<boolean>:恢复音视频播放的结果。true表示成功,false表示失败。

pause

pause(): boolean

功能说明

暂停音视频播放。

请求参数

返回参数

boolean:暂停播放的结果。true表示成功,false表示失败。

pauseVideo

pauseVideo(): boolean

功能说明

该接口不支持。

请求参数

返回参数

boolean:只返回false。

resumeVideo

resumeVideo(): Promise<boolean>

功能说明

该接口不支持。

请求参数

返回参数

boolean:只返回false。

pauseAudio

pauseAudio(): boolean

功能说明

暂停音频。

请求参数

返回参数

boolean:暂停音频播放的结果。true表示成功,false表示失败。

resumeAudio

resumeAudio(): Promise<boolean>

功能说明

恢复音频。

请求参数

返回参数

Promise<boolean>:恢复音频播放的结果。true表示成功,false表示失败。

setPlayoutVolume

setPlayoutVolume(volume: number): boolean

功能说明

设置音频音量,会开启声音。

请求参数

volume:必选,number类型,音频的音量值。取值范围为[0,100]。

返回参数

boolean:设置音频音量是否成功。true表示成功,false表示失败。

getPlayoutVolume

getPlayoutVolume(): number

功能说明

获取音频音量。

请求参数

返回参数

number:音量值,取值范围为[0,100]。

muteAudio

muteAudio(isMute: boolean): void

功能说明

静音。

请求参数

isMute:必选,boolean类型,是否静音。true表示静音,false表示取消静音。

返回参数

streamStatistic

streamStatistic(enable: boolean, interval: number): void

功能说明

设置是否开启流信息统计。

请求参数

  • enable:必选,boolean类型,是否开启流信息统计,true表示开启统计。
  • interval:必选,number类型,设置统计间隔,单位为秒,取值范围为[1, 60],默认值为1。

返回参数

enableStreamStateDetection

enableStreamStateDetection(enable: boolean, interval: number, interruptRetry:StreamInterruptRetry): boolean

功能说明

开启/关闭音、视频码流状态探测功能,开启后可探测推流侧是否处于断流的状态。

请求参数

  • enable:必选,boolean类型,true表示开启音视频码流状态探测,false表示关闭音视频码流状态探测。默认值为false。
  • interval:必选,number类型,单位为秒,取值范围为[1,60]。音视频无码流状态的判断时间。默认值为3,推荐设置为3。
  • interruptRetry:可选,StreamInterruptRetry类型。断流重试播放配置参数,StreamInterruptRetry定义为:{

    enable:boolean类型,开启断流后尝试自动恢复播放。默认值为false,即不开启自动重试。

    retryInterval:number类型,拉流播放的重试周期,单位为秒。最小值10,最大值建议不超过60,默认值为30。

    retryTimes:number类型,尝试重新恢复播放的最大重试次数。最小值1,默认值为30。

    }

返回参数

boolean:是否成功,true表示成功,false表示失败。

destroyClient

destroyClient(): void

功能说明

销毁客户端对象。

请求参数

返回参数

fullScreenToggle

fullScreenToggle(isExit: boolean): void

功能说明

开启关闭全屏。

请求参数

isExit:必选,布尔类型,默认false。

返回参数