Javascript 我们如何使用openTok从单个会话生成的不同令牌连接视频流

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

我希望通过在sessionId下为所有用户提供单独的令牌来连接会话中的所有用户,以便他们可以查看彼此的流。但用户只能看到他们的扫射。我只需要在我的页面上为每个用户分配div,每个用户都有一个连接到任何特定sessionId的令牌。

这是用户只能看到其流的代码

 <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方法接受一个流数组。方法中的流变量未在任何位置定义