视频直播 Web 推流SDK 第二次触发setRenderView没有画面怎么解决?

https://www.volcengine.com/docs/6469/132328

在vue单页应用中第一次实例化没有问题,但是如果切换路由,销毁推流组件后,第二次再打开这个页面重新实例化的情况下setRenderView设置无效,在对应位置没有生成video预览标签,此时推流画面是正常的,但是本地没有预览画面,请问有人遇到过吗,怎么解决?

20049
0
0
avatar

回答的不错

0
0评论
0
avatar

v1.1.0 版本已解决

1
0评论
0
avatar

该问题 v1.1.0 版本已解决

0
0评论
0
avatar

v1.1.0 版本已解决

0
0评论
0
avatar

已找到原因,官方sdk里面缓存了预览dom,并且没有提供释放方法,导致第二次调用setRenderView失效 当前版本可以通过下面代码释放缓存缓存dom来解决

if (livePusher._rtm && livePusher._rtm._nodes) {
  const yst = livePusher._rtm._nodes.find(v => v._mainPreviewEle || v._screenPreviweEle);
  if (yst) {
    yst._mainPreviewEle = null;
    yst._screenPreviweEle = null;
  }
}
3
9评论
0
查看更多评论
关于作者