Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ConnectyCube中接受视频聊天呼叫?_Javascript_Html_Videochat_Connectycube - Fatal编程技术网

Javascript 如何在ConnectyCube中接受视频聊天呼叫?

Javascript 如何在ConnectyCube中接受视频聊天呼叫?,javascript,html,videochat,connectycube,Javascript,Html,Videochat,Connectycube,我有两个简单的HTML/Javascript页面。一个用于发起视频通话(呼叫者),另一个用于接受视频通话(被呼叫者) 按照ConnectyCube文档中的说明,我首先登录并连接到聊天室 在呼叫者端,我执行呼叫功能: function callNow(session) { var extension = {}; session.call(extension, function(error) { console.log('calling - rin

我有两个简单的HTML/Javascript页面。一个用于发起视频通话(呼叫者),另一个用于接受视频通话(被呼叫者)

按照ConnectyCube文档中的说明,我首先登录并连接到聊天室

在呼叫者端,我执行呼叫功能:

    function callNow(session) {
    var extension = {};
    session.call(extension, function(error)     
    {
     console.log('calling - ring ring');
     //Get calling ringtone ringing

      document.getElementById('callingSignal').play();
        // work with callbacks
        handlingCallReactions();
      });
    }   

    //Function for handling the reactions
    function handlingCallReactions() {
      ConnectyCube.videochat.onUserNotAnswerListener = function onUserNotAnswerListener(
    session,
    userId
     ) {

    console.group('onUserNotAnswerListener.');
    console.log('UserId: ', userId);
    console.log('Session: ', session);
    console.groupEnd();
    };

    //If user takes call
    //After this, your opponents will get a confirmation in the following callback:
       ConnectyCube.videochat.onAcceptCallListener = function(
    session,
    userId,
    extension
     ) {
       console.log('other user accepted call');
    };

      ConnectyCube.videochat.onRemoteStreamListener = function(
    session,
    userID,
    remoteStream
    ) {
      // attach the remote stream to DOM element
        session.attachMediaStream('remoteOpponentVideoElementId', remoteStream);
     };
     }
观察浏览器控制台,我得到以下输出:

    [VideoChat]: _dialingCallback,     answerTimeInterval: 60000
因此,我假设这部分工作正常,因为过程正在等待某些事情发生

在被叫方的另一端,我登录并连接到聊天室(直到这里它工作正常),然后我用下面的代码等待呼叫

    //After this, your opponents will receive a callback call:
    //Function for accepting videocalling by callback
    ConnectyCube.videochat.onCallListener = function(session, extension) {
    var extension = {};
    session.accept(extension);
    console.log('Im waiting and can take call');
    };

    ConnectyCube.videochat.onRemoteStreamListener = function(
     session,
     userID,
     remoteStream
       ) {
      // attach the remote stream to DOM element
          session.attachMediaStream('remoteOpponentVideoElementId', remoteStream);
    };
所述页面的控制台(被调用方)给出以下输出

[Chat] Connect with parameters {"userId":22222,"password":"bbbbbbbb"} 
[Chat] Status.CONNECTING (Chat Protocol - WebSocket) connectycube.min.js:1:454409
[Chat] SENT: <unavailable> 
[Chat] RECV: <unavailable>
[Chat] SENT: <unavailable> 
[Chat] RECV: <unavailable> 
[Chat] SENT: <unavailable> 
[Chat] RECV: <unavailable>
[Chat] SENT: <unavailable> 
[Chat] RECV: <unavailable> 
[Chat] SENT: <unavailable> 
[Chat] RECV: <unavailable> 
[Chat] Status.CONNECTED at 
[Chat] SENT: <unavailable>
[Chat] RECV: <unavailable>
[Chat] SENT: <unavailable> 
logged into chat 
[Chat] RECV: <unavailable>
[Chat]连接参数{“userId”:22222,“password”:“bbbbbbbb”}
[聊天]Status.CONNECTING(聊天协议-WebSocket)connectycube.min.js:1:454409
[聊天]已发送:
[聊天]录制:
[聊天]已发送:
[聊天]录制:
[聊天]已发送:
[聊天]录制:
[聊天]已发送:
[聊天]录制:
[聊天]已发送:
[聊天]录制:
[聊天]状态。已连接到
[聊天]已发送:
[聊天]录制:
[聊天]已发送:
登录聊天室
[聊天]录制:
我在这里遗漏了什么才能真正看到电话到达?

您的代码是正确的

我建议您检查一下如何创建会话对象

var calleesIds = [56, 76, 34]; // User's ids
var sessionType = ConnectyCube.videochat.CallType.VIDEO; // AUDIO is also possible
var additionalOptions = {};

var session = ConnectyCube.videochat.createNewSession(calleesIds, sessionType, additionalOptions);
我建议您检查一下您身边的CalleesID中的内容。我猜被叫方没有收到任何东西,因为他的用户id不在主叫方的CalleesID数组中


谢谢。这确实是一个错误,因为我错过了一个用于测试的用户更改。