Chimeejs / chimee-player

A complete set of H5 player. 这是一套包含UI插件、FLV和HLS解码器的快速上手解决方案,可以按您的业务场景适当调整依赖后重新构建打包。
http://chimee.org/#demo
295 stars 45 forks source link

Hello World #1

Closed huzunjie closed 7 years ago

huzunjie commented 7 years ago

Welcome feedback

hxzpily2 commented 7 years ago

昨天尝试 demo 在编译后运行,切换视频源时会报错,导致无法切换成功,删除了rebuildPlayer中的player.destory() 就不会报错了

huzunjie commented 7 years ago

@hxzpily2 具体报什么错呢?建议正式应用环境里保留 player.destroy() --- 以保证销毁前面存在的播放器实例并正常终止可能存在的后台逻辑。

hxzpily2 commented 7 years ago

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呢

huzunjie commented 7 years ago

@hxzpily2 通过代码片段没法断定问题的根源,有可能插件编写上有问题。

另,要拿到原生videoElement对象可以在插件的声明周期钩子中使用 this.$video (参考资料),但因为设计之初不建议这么用,会导致出现一个警告,你也可以通过选择器自己查找。

hxzpily2 commented 7 years ago

我是直接zip 下载的 chimee-player 然后解压到一个目录里面,然后执行 npm install ,npm run build ,然后把demo 和 lib文件放到测试服务器里面,我试试npm install chimee-player --save 的方法吧,感谢您的回复

huzunjie commented 7 years ago

@hxzpily2 感谢反馈,我这边尝试重新构建复现了你说的问题,已升级处理,请留意版本更新,再次感谢