Closed huzunjie closed 7 years ago
昨天尝试 demo 在编译后运行,切换视频源时会报错,导致无法切换成功,删除了rebuildPlayer中的player.destory() 就不会报错了
@hxzpily2 具体报什么错呢?建议正式应用环境里保留 player.destroy() --- 以保证销毁前面存在的播放器实例并正常终止可能存在的后台逻辑。
index.mjs:401 Uncaught TypeError: el.removeEventListener is not a function
具体位置在 _Object$keys(this.events).forEach(function (key) { 这一行 events是空对象
, { key: 'destroy', value: function destroy() { var _this6 = this;
this.__unwatchHandlers.forEach(function (unwatcher) {
return unwatcher();
});
_Object$keys(this.__events).forEach(function (key) {
if (!isArray(_this6.__events[key])) return;
_this6.__events[key].forEach(function (fn) {
return _this6.$off(key, fn);
});
});
delete this.__events;
}
},
我编译出来的是 _Object$keys 我看官网的demo 这里编译出来的是 _Object$keys$ ,我是js新手,不算太明白 ,另外如果写一个VR播放插件,现有插件系统逻辑里面在哪里劫持video给video截图上传给webgl呢
@hxzpily2 通过代码片段没法断定问题的根源,有可能插件编写上有问题。
另,要拿到原生videoElement对象可以在插件的声明周期钩子中使用 this.$video (参考资料),但因为设计之初不建议这么用,会导致出现一个警告,你也可以通过选择器自己查找。
我是直接zip 下载的 chimee-player 然后解压到一个目录里面,然后执行 npm install ,npm run build ,然后把demo 和 lib文件放到测试服务器里面,我试试npm install chimee-player --save 的方法吧,感谢您的回复
@hxzpily2 感谢反馈,我这边尝试重新构建复现了你说的问题,已升级处理,请留意版本更新,再次感谢
Welcome feedback