我正在创建一个应用程序,我希望在另一个页面上显示特定的流。将有一个包含所有流(订阅)的页面和一个将在整个屏幕上显示SPECIFIC流的页面。
我前两步工作,最后一步是问题。我不知何故需要通过给定的streamId获取流对象。这可能吗?还有其他方法可以达到这个目的吗?
答案 0 :(得分:1)
我不知道这是否是正确的方法,但您可以在数组中添加所有流对象:
var streamContainer = [];
session.on("streamCreated", streamCreatedHandler);
streamCreatedHandler = function(e) {
streamContainer.push(e.stream)
}
当你的ID被取来取消订阅当前时,迭代数组并订阅新流:
for(var i = 0; i < streamContainer.length; i++) {
if(streamContainer[i].id == dbStreamId) {
session.subscribe(streamContainer[i], 'DOMELEMENT', {options});
}
}
答案 1 :(得分:0)
您甚至可能不需要数据库来处理您要执行的操作。只需将两个页面(特定流和所有流)连接到同一个sessionId。您可以将streamId作为参数放在您的网址中:?streamId = 1343-thneue ...
在您的streamCreated事件中,只需使用您的url streamId检查回调函数中的stream.streamId。如果它们匹配,则在该流对象上调用session.subscribe。