- 使用Fetch API代替XMLHttpRequest (XHR) 对象。
- 不要在Fetch API中使用ReadableStream接口,而应使用异步完全读取。
- 解决有关文档对象模型 (DOM) 依赖项的问题。
- 必要时实现polyfill。
Shaka播放器
要在Vega上运行,请按如下方式修改Shaka播放器:-
对W3CMedia的媒体源API使用polyfill。
示例:
-
使用XMLDOM npm程序包代替DOMParser,并指定用于提取的窗口。
已修改的
navigator.userAgent示例: -
使用polyfill修改Document对象。当创建React Native视频组件时,应设置或清除
global.gvideo。 示例: -
在
xml_util.js中禁用Node接口。 示例:
Dash.js播放器
要在Vega上运行,请按如下方式修改Dash.js播放器:-
在导入任何
dash.js模块之前,必须初始化: -
对
HTTPLoader.js进行检查时,更改为使用提取而不是XMLHTTPRequest。代码中的一些检查会导致使用XMLHTTPRequest,后者无法下载片段(会下载0字节的片段)。 示例:
HLS.js播放器
对您的HLS.js播放器进行以下修改,以便使用Vega来运行。- 将适用于分叉的Shaka播放器的相同polyfill类应用于HLS.js播放器。
- 对
location.href、DOMException和HTMLVideoElement类使用polyfill。 - 启用
hls.js的提取加载器插件。 - 在提取加载器插件中,禁用
onProgress回调(不支持fetch.ReadableStream)。 - 禁用渐进式配置(不支持
fetch.ReadableStream)。 - 禁用所有字幕配置(HLS.js播放器不支持CUE API)。
- 修补
SourceBuffer.appendBuffer方法以接受Uint8Array。 - 禁用worker(不支持工作线程 [后台进程])。

