Javascript 我们如何使用openTok从单个会话生成的不同令牌连接视频流
我希望通过在sessionId下为所有用户提供单独的令牌来连接会话中的所有用户,以便他们可以查看彼此的流。但用户只能看到他们的扫射。我只需要在我的页面上为每个用户分配div,每个用户都有一个连接到任何特定sessionId的令牌。 这是用户只能看到其流的代码Javascript 我们如何使用openTok从单个会话生成的不同令牌连接视频流,javascript,video-streaming,webrtc,opentok,tokbox,Javascript,Video Streaming,Webrtc,Opentok,Tokbox,我希望通过在sessionId下为所有用户提供单独的令牌来连接会话中的所有用户,以便他们可以查看彼此的流。但用户只能看到他们的扫射。我只需要在我的页面上为每个用户分配div,每个用户都有一个连接到任何特定sessionId的令牌。 这是用户只能看到其流的代码 <script src="http://static.opentok.com/webrtc/v2.0/js/TB.min.js" ></script> <script src="https://sta
<script src="http://static.opentok.com/webrtc/v2.0/js/TB.min.js" ></script>
<script src="https://static.opentok.com/webrtc/v2.0/js/TB.min.js" ></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
<script type="text/javascript">
var publisher;
var session;
var apiKey = "44686132";
var sessionId = "1_MX40NDY4NjEzMn4xMjcuMC4wLjF-V2VkIE1hciAxOSAyMDo1ODozNyBQRFQgMjAxNH4wLjAzMTA3MTAwN34";
var token = document.getElementById("<%= hdn1.ClientID %>").value;
publisher = TB.initPublisher(apiKey);
session = TB.initSession(sessionId);
session.connect(apiKey, token);
session.addEventListener("sessionConnected",
sessionConnectedHandler);
session.addEventListener("streamCreated",
streamCreatedHandler);
function sessionConnectedHandler(event) {
alert("sessionConnectedHandler");
subscribeToStreams(event.streams);
session.publish(publisher);
}
function subscribeToStreams(streams) {
if (stream.connection.connectionId
!= session.connection.connectionId) {
//var streams = event.streams;
for (var i = 0; i < streams.length; i++) {
var stream = streams[i];
var newDivId = "streams" + stream[i].streamId;
var newDiv = $('<div />', { id: newDivId });
$('body').append(newDiv);
if (stream.connection.connectionId
!= session.connection.connectionId) {
session.subscribe(stream[i], newDivId);
}
}
}
}
function streamCreatedHandler(event) {
subscribeToStreams(event.streams);
}
</script>
var出版商;
var会议;
var apiKey=“44686132”;
var sessionId=“1_MX40NDY4NjEzMn4xMjcuMC4wLjF-V2VkIE1hciAxOSAyMDo1ODozNyBQRFQgMjAxNH4wLjAzMTA3MTAwN34”;
var token=document.getElementById(“”)值;
publisher=TB.initPublisher(apiKey);
session=TB.initSession(sessionId);
连接(apiKey、令牌);
session.addEventListener(“sessionConnected”,
sessionConnectedHandler);
session.addEventListener(“streamCreated”,
Stream(Dhandler);
函数sessionConnectedHandler(事件){
警报(“sessionConnectedHandler”);
subscribeToStreams(event.streams);
出版(出版商);
}
函数subscribeToStreams(streams){
if(stream.connection.connectionId
!=会话.连接.连接ID){
//var streams=event.streams;
对于(变量i=0;i
此外,警报(“sessionConnectedHandler”)代码>内部
函数sessionConnectedHandler(事件)
永远不会被调用。我做错了什么?请咨询您的浏览器控制台,它将帮助您解决大多数问题。下面是我在您的代码中发现的几个快速错误:
- 您多次包含javascript库李>
- 您的令牌可能检索不正确。请在控制台中打印出您的令牌,并验证它看起来像令牌,并且不为null或给您一个错误李>
- subscribeToStreams方法接受一个流数组。方法中的流变量未在任何位置定义