Session OpenTok建议如何开始构建应用程序

Session OpenTok建议如何开始构建应用程序,session,videochat,opentok,Session,Videochat,Opentok,我正在尝试实现一个基于opentok的应用程序。 我心目中的项目是一个应用程序,一些用户,每个用户都可以通过他们的应用程序电话与运营商通话,运营商必须呆在电脑上。 只需应用程序呼叫接线员并在服务器上记录呼叫即可。 我认为我必须创建两个应用程序:一个是从手机拨打电话并将其连接到会话,另一个是已经在计算机上打开会话并记录通话的应用程序。还是不? 或者,会话已经在操作员计算机上打开,用户可以通过电话连接会话? 如何创建只有一个令牌ID的一对一视频聊天?如何在每次有人呼叫接线员时创建新呼叫? 如果有人对

我正在尝试实现一个基于opentok的应用程序。 我心目中的项目是一个应用程序,一些用户,每个用户都可以通过他们的应用程序电话与运营商通话,运营商必须呆在电脑上。 只需应用程序呼叫接线员并在服务器上记录呼叫即可。 我认为我必须创建两个应用程序:一个是从手机拨打电话并将其连接到会话,另一个是已经在计算机上打开会话并记录通话的应用程序。还是不? 或者,会话已经在操作员计算机上打开,用户可以通过电话连接会话? 如何创建只有一个令牌ID的一对一视频聊天?如何在每次有人呼叫接线员时创建新呼叫? 如果有人对如何开始有建议、指导或提示,请回答。。。。 提前谢谢

我已经在index.js中创建了基于教程的cordova应用程序

 onDeviceReady: function() {

  // Getting OpenTokRTC's room's credentials. 
  // To use your own room in opentokrtc, change cordova to room of your choice
  //   -> ie: https://opentokrtc.com/myroom.json
  // To use your own credentials
  //  replace data.apiKey, data.sid, and data.token with your own

  var apiKey = "xxx";
  var sessionId = "xxxx";
  var token = "xxx";

  // Very simple OpenTok Code for group video chat
  var publisher = TB.initPublisher(apiKey,'myPublisherDiv');

  var session = TB.initSession( apiKey, sessionId ); 
  session.on({
    'streamCreated': function( event ){
        var div = document.createElement('div');
        div.setAttribute('id', 'stream' + event.stream.streamId);
        document.body.appendChild(div);
        session.subscribe( event.stream, div.id, {subscribeToAudio: false} );
    }
  });

  session.connect(token, function(){
    session.publish( publisher );
  });

},
   // Update DOM on a Received Event
   receivedEvent: function(id) {
  }
在我的网页应用程序中,我编写了来自opentok教程的代码

<div id="myPublisherDiv"></div>
    <script type="text/javascript">
      // Initialize API key, session, and token...
      // Think of a session as a room, and a token as the key to get in to the room
      // Sessions and tokens are generated on your server and passed down to the client
      var apiKey = "xxx";
      var sessionId = "xxx";
      var token = "xxx";

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

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

      function sessionConnectedHandler(event) {
        var publisher = TB.initPublisher(apiKey, 'myPublisherDiv');
        session.publish(publisher);
      }

    </script>
我的问题是:如何在网页应用程序中使用从iphone获取的视频流构建第二个div?
另一件让我很困惑的事情是:在任何情况下,我都必须用SDK设置我的服务器?

你可以让每个人都连接到同一个会话。获取connectionCreated事件时,将其存储在对象中。轮到某人时,向他发出信号,让他开始发布,然后订阅他的流:

例如,在操作员一侧:

var connections = {};
session.on('connectionCreated', function(event){
  connections[event.connection.connectionId] = event.connection.connectionId;
  // Create a button for that stream
});
当操作员单击要连接的流时

// retrieve streamId from button, disconnect from other streams
session.signal(
  {
    type: "publish", 
    data: "operator", 
    to: connections[connectionIdFromButton]
  }, 
  function(){...}
);
当用户收到信号时,开始发布

session.on("signal:publish", function(event){
  session.publish(...)
});

嗯,理论上看起来很简单,但你能更具体一点吗?比如一行代码?现在我可以在我的网站上用javascript代码将我的设备连接到一个页面,但我只能在我的设备上看到这两个视频,而不能在我的网页上看到。。。如果你想我张贴我的代码如果你更新你的问题,包括样本代码,我可以给你一些建议。看看你做错了什么。