使用openTok(tokbox)进行面对面的视频聊天

时间:2014-01-09 14:29:25

标签: javascript opentok tokbox

我建立了一种社交网络,用户可以互相聊天。 只有私人聊天,而不是房间或团体或类似的东西。

我想在聊天中添加一项功能 - 视频聊天。

我找到了openTok(tokbox)。 我从他们的手册中读到了很多,但我无法使其发挥作用。

我开始时做的很简单。

我使用此代码在两个不同的计算机网址中打开:

<html>
    <head>
    <script src="http://static.opentok.com/webrtc/v2.0/js/TB.min.js" ></script>
    <meta http-equiv="X-UA-Compatible" content="chrome=1">
    <script type="text/javascript">
          var apiKey    = **myApiKey**;
          var sessionId = **sessionId **;
          var token     = **token**;

          function sessionConnectedHandler (event) {
             session.publish( publisher );
             subscribeToStreams(event.streams);
          }
          function subscribeToStreams(streams) {
            for (var i = 0; i < streams.length; i++) {
                var stream = streams[i];
                if (stream.connection.connectionId 
                       != session.connection.connectionId) {
                    session.subscribe(stream);
                }
            }
          }
          function streamCreatedHandler(event) {
            subscribeToStreams(event.streams);
          }

          var publisher = TB.initPublisher(apiKey);
          var session   = TB.initSession(sessionId);

          session.connect(apiKey, token);
          session.addEventListener("sessionConnected", 
                                   sessionConnectedHandler);

          session.addEventListener("streamCreated", 
                                   streamCreatedHandler);
        </script>
    </head>
    <body>
    </body>
</html>

当然,我将 myApiKey sessionId 令牌更改为我帐户中的详细信息。

问题在于,在我看到的每一页中,购买合作伙伴窗口都不会停止加载...

我该怎么办?

由于

1 个答案:

答案 0 :(得分:2)

sessionConnectedHandler()中,您必须删除publisher参数,然后才能正常工作......有点像这样:

function sessionConnectedHandler(event) {
  subscribeToStreams(event.streams);
  session.publish();
}