跳到主要内容

HlsJsP2PEngine

静态方法

injectMixin

增强 hls.js 实例

injectMixin: (hls: typeof Hls) => HlsJsP2PEngine;

返回值

一个 HlsJsP2PEngine 对象

构造函数

constructor: (config?: PartialHlsJsP2PEngineConfig) => HlsJsP2PEngine;

参数 config

名称类型默认值描述
configPartialHlsJsP2PEngineConfigundefined配置参数

PartialHlsJsP2PEngineConfig

名称类型默认值描述
corePartial<CoreConfig>undefined核心配置

CoreConfig

名称类型默认值描述
isP2PDisabledbooleanfalse核心配置
rtcConfigRTCConfigurationundefinedp2p rtc 配置
useSSLbooleantrue是否使用 HTTPS、WSS 协议
appIdstring''app 应用 ID
tokenstring''app 应用 Token 非必填
trackerZonestringcntracker服务器地址的国家代号,分为'cn'、'cc'。
gatewayUrlstring''自定义网关地址。

返回值

一个 HlsJsP2PEngine 对象

增强 hls.js 的方法

实例化后,hls.js 的实例将自动增强,除 hls 基础方法以外还增加以下方法

destroy

释放引擎

destroy: () => void;

返回值

void

addEventListener

监听 p2pEngine 的事件 CoreEventMap

addEventListener: <K extends keyof CoreEventMap>(
eventName: K,
listener: CoreEventMap[K],
) => void;

返回值

void

addEventListener

取消监听 p2pEngine 的事件 CoreEventMap

removeEventListener: <K extends keyof CoreEventMap>(
eventName: K,
listener: CoreEventMap[K],
) => void;

返回值

void

getConfigForHlsJs

获取 hls 的配置

getConfigForHlsJs: <F = unknown, P = unknown>() => { fLoader: F; pLoader: P };

返回值

{ fLoader: F; pLoader: P }

getConfig

获取 p2pEngine 的配置

getConfig: () => HlsJsP2PEngineConfig;

返回值

HlsJsP2PEngineConfig

applyDynamicConfig

动态更改 p2pEngine 的配置

applyDynamicConfig: () => void;

返回值

void

bindHls

绑定 hls 实例

bindHls: <T = unknown>(hls: T | (() => T)) => void;

返回值

void

HlsJsP2PEngine 的回调

onSegmentLoaded

当一个片段完全下载并可供使用时调用

onSegmentLoaded: (params: SegmentLoadDetails) => void;

返回值

void

onSegmentError

在片段下载错误时触发

onSegmentError: (params: SegmentErrorDetails) => void;

返回值

void

onSegmentAbort

在片段下载中止时触发

onSegmentAbort: (params: SegmentAbortDetails) => void;

返回值

void

onSegmentStart

在片段下载过程开始时触发

onSegmentStart: (params: SegmentStartDetails) => void;

返回值

void

onPeerConnect

在建立新的点对点连接时发生

onPeerConnect: (params: PeerDetails) => void;

返回值

void

onPeerClose

当现有的点对点连接关闭时触发

onPeerClose: (params: PeerDetails) => void;

返回值

void

onPeerError

当点对点连接期间发生错误时触发

onPeerError: (params: PeerErrorDetails) => void;

返回值

void

onChunkDownloaded

在成功下载段中的数据块后调用

onChunkDownloaded: (
bytesLength: number,
downloadSource: DownloadSource,
peerId?: string,
) => void;

返回值

void

onChunkUploaded

当数据块成功上传到对等节点时调用

onChunkUploaded: (bytesLength: number, peerId: string) => void;

返回值

void

onTrackerError

在跟踪器请求过程中发生错误时调用

onTrackerError: (params: TrackerErrorDetails) => void;

返回值

void

onTrackerWarning

在跟踪器请求过程中出现警告时调用

onTrackerWarning: (params: TrackerWarningDetails) => void;

返回值

void