如何使用opentok web-rtc从视频流中取消订阅和重新订阅

时间:2013-04-30 15:18:15

标签: webrtc opentok

使用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);

最后一部分是不起作用的部分。

2 个答案:

答案 0 :(得分:1)

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

相反,订阅时会向属性添加insertMode: 'append'

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

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

答案 1 :(得分:0)

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