N
O
D
E
M
E
D
I
A
Thinking
首页
产品
文档
博客
订单
文档
WASM版API变化
2026年 5月 20日 下午12:17
## WASM版本简介 NodePlayer.js一直以来使用的是兼容性更高的asm.js格式。 随着浏览器的不断更新,wasm技术更加成熟,NodePlayer.js现在也提供wasm版本。 性能方面会有50%~80%的提升,比较明显。 在手机端初次启动速度也比asm.js更快。 建议测试满意后进行更新。 ## WebAssembly 为什么比 asm.js 快? https://zhuanlan.zhihu.com/p/25865972 ## WASM版本API变化 程序编译为wasm格式后,部署时需要2个文件。一个是js格式的入口文件,一个是wasm格式的程序文件。 调用时依然是引入js文件,wasm文件自动从js当前目录加载。 由于wasm程序的加载与编译是异步进行的,在完成之前不能调用主api,因此唯一的变化是需要等待这一步完成。 ~~NodePlayer.js提供的回调函数名为 npAllReady,在收到该回调后,再操作。~~ v0.5.28之后,建议使用NodePlayer.load(()=>{});来加载 ## 例子 与asm.js版本一样,引入主文件 ``` <script type="text/javascript" src="./NodePlayer.min.js"></script> ``` ``` //先声明变量 var player; NodePlayer.load(()=>{ player = new NodePlayer(); /** * 自动测试浏览器是否支持MSE播放,如不支持,仍然使用软解码。 * 紧随 new 后调用 * 不调用则只使用软解 */ // player.useMSE(); /** * 传入 canvas视图的id,当使用mse时,自动转换为video标签 */ player.setView("video1"); /** * 设置最大缓冲时长,单位毫秒,只在软解时有效 */ player.setBufferTime(1000); player.on("start", () => { console.log("player on start"); }); player.on("stop", () => { console.log("player on stop"); }); player.on("error", (e) => { console.log("player on error", e); }); player.on("videoInfo", (w, h, codec) => { console.log("player on video info width=" + w + " height=" + h + " codec=" + codec); }); player.on("audioInfo", (r, c, codec) => { console.log("player on audio info samplerate=" + r + " channels=" + c + " codec=" + codec); }); player.on("stats", (stats) => { console.log("player on stats=", stats); }); }); ```
嘿,我是小R,需要帮助随时找我哦
QQ客服:281269007
邮件支持
扫码加微信
回到顶部