跳到主要内容

ShakaP2PEngine

静态方法

registerPlugins

在Shaka Player中注册与P2P功能相关的插件

registerPlugins: (shaka = window.shaka) => void;

返回值

void

unregisterPlugins

从Shaka Player中注销与P2P功能相关的插件

unregisterPlugins: (shaka = window.shaka) => void;

返回值

void

构造函数

constructor: (config?: PartialShakaEngineConfig, shaka = window.shaka) => ShakaP2PEngine;

参数 config

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

PartialHlsJsP2PEngineConfig

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

CoreConfig

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

返回值

一个 ShakaP2PEngine 对象

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

getConfig

获取 p2pEngine 的配置

getConfig: () => HlsJsP2PEngineConfig;

返回值

HlsJsP2PEngineConfig

applyDynamicConfig

动态更改 p2pEngine 的配置

applyDynamicConfig: () => void;

返回值

void

bindShakaPlayer

绑定 shaka player 实例

bindShakaPlayer: (player: shaka.Player) => void;

返回值

void

ShakaP2PEngine 的回调

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