sdk 提供了通用的sdk接口,您可以自行接入播放器
注意:
请注意当前 sdk 不支持多实例
对接准备
请参考接入说明
对接示例
if (HLSP2P.isSupported()) { // 首先确定是否支持sdk// 创建sdk实例; 请注意这里创建接口为createCommon, 并且不能传入hls.js实例// 详细参数见如下接口APIconst hlsp2p = HLSP2P.createCommon({videoId: '这里需要根据实际情况修改为<video>的id',videoType: 'VOD', // 根据实际情况填写, 见APIurl: '根据实际情况填写hls视频的m3u8 url',domain: '见邮件',xp2pAppId: '见邮件',xp2pAppKey: '见邮件',cloudAppId: 您在腾讯云的appid, // number类型});hlsp2p.on(HLSP2P.Events.Rollback, () => { // 监听SDK播放失败事件hlsp2p.destroy(); // 需销毁sdk});// 请注意, 切换线路, 切换清晰度或不使用sdk后,都需主动调用destroy()// 当需要下载ts文件的时候, 如下为下载ts示例// 请求的ts参数const requestContext = {url: 'ts_download_url' // 完整的ts文件url};type SuccessData = ArrayBuffer;type SuccessStats = {loading: {start: number; // 请求的开始时间first: number; // 收到首包的时间end: number; // 请求结束的时间}}// 为请求设置回调方法const requestCallbacks = {onSuccess: (tsData: SuccessData, stats: SuccessStats) => {// 下载成功后会调用. tsData即为下载完成的ts数据(Arraybuffer)},onError: () => {// 下载失败后会调用},onTimeout: () => {// 下载超时后会调用这个回调.},}// 获取ts下载器const commonLoader= hlsp2p.commonLoader;// 传入刚才的参数, 通过p2p sdk ts下载器下载ts文件commonLoader.loadTs(requestContext, requestCallbacks);}
对接注意事项(重要)
1. 当关闭播放器的时候, 需要同步销毁 P2P sdk
2. 当更换视频播放的时候, 需要销毁 sdk 并重新初始化 sdk