使用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);
最后一部分是不起作用的部分。
答案 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时,可能会出现错误。