3

过去,我使用 Flash 成功地订阅/取消订阅/重新订阅。现在我正在使用 web-rtc 连接,当我尝试手动重新订阅未订阅的流时,它不起作用。

有没有人试图用更多的运气来做同样的事情?

我用session.subscribe(stream, stubDiv.id, subscriberProps);

然后,如果我单击取消订阅,我会使用

for(var i = 0; i < subscribers.length; i++)
   session.unsubscribe(subscribers[i]);

再次订阅,我提供了我在取消订阅之前存储的相同对象流,以便能够重新订阅session.subscribe(stream, stubDiv.id, subscriberProps);

最后一部分是行不通的。

4

2 回答 2

1

我知道这是一个老问题,但我今天也遇到了同样的问题,其他人也可能如此。就像@songz 所说,当您取消订阅时,它会从 DOM 中删除元素。

相反,当订阅添加insertMode: 'append'到属性时:

let subscriberProps = {
  insertMode: 'append'
};
session.subscribe(stream, stubDiv.id, subscriberProps);

这将在您选择的元素中添加另一个 div,当您取消订阅时,它只会删除新的 div。

于 2017-07-25T13:50:00.970 回答
0

在您的第一个session.subscribe中, stubDiv 被视频 div 取代。在session.unsubscribe中,stubDiv 被删除。当您再次使用 stubDiv(现在不存在)调用 subscribe 时,可能会出现错误。

于 2014-03-07T01:08:44.800 回答