【问题标题】:Sinch Calling with NodeJS使用 NodeJS 调用 Sinch
【发布时间】:2018-09-06 05:24:38
【问题描述】:

我正在尝试使用 Sinch Calling API 拨打基本电话;但是,我一直遇到错误。我目前的代码是简单地创建 SinchClient 对象,然后尝试拨打电话:

const express = require('express');
const app = express();
const SinchClient = require('sinch-rtc');

const sinch = new SinchClient({
    applicationKey: '********',
    capabilities: { calling: true }
});

app.post('/sinch', (req, res) => {
    console.log(req);
});

app.get('/', (req, res) => {
    console.log('testing');
    const callListeners = {
        onCallEstablished: (call) => {
            res.send(call.incomingStreamURL);
        }
    }
    const callClient = sinch.getCallClient();
    const call = callClient.callPhoneNumber('+46000000000');

    call.addEventListener(callListeners);
})

app.listen(8080, () => console.log('listening on port 8080'));



很遗憾,当我尝试运行我的应用程序时遇到以下错误:

***-MacBook-Pro:** ***$ node index
/Users/***/Documents/Coding Projects/Borsa/node_modules/sinch- rtc/lib/sinch.node.min.js:1
(function (exports, require, module, __filename, __dirname) { var PAPI,PUBNUB=require("pubnub").init({}),XMLHttpRequest=require("xmlhttprequest").XMLHttpRequest,window=window||global,WRTC=require("wrtc"),navigator=navigator||{mediaDevices:{getUserMedia:function(){return!1},userAgent:""}}||{getUserMedia:function(){return!1},userAgent:""}||{mozGetUserMedia:function(){return!1},userAgent:""}||{webkitGetUserMedia:function(){return!1},userAgent:""},btoa=require("btoa"),atob=require("atob"),localStorage=require("localStorage"),SinchTicketGenerator=require("sinch-ticketgen"),Q=require("q"),SinchVersion=require("../VERSION"),ErrorDomain=(SinchTicketGenerator=require("sinch-ticketgen"),{ErrorDomainNone:-1,ErrorDomainNetwork:0,ErrorDomainCapability:1,ErrorDomainSession:2,ErrorDomainApi:3,ErrorDomainOther:4,ErrorDomainSDK:5,ErrorDomainVerification:7}),ErrorCode={NoneNone:0,NetworkConnectionRefused:1e3,NetworkConnectionTimed

TypeError: Cannot read property 'indexOf' of undefined
at new Sinch (/Users/***/Documents/Coding Projects/**/node_modules/sinch-rtc/lib/sinch.node.min.js:1:5078)
at Object.<anonymous> (/Users/***/Documents/Coding Projects/**/index.js:5:15)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
at Function.Module._load (module.js:489:3)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3

这显然是当前节点模块版本中的 Sinch SDK 存在的问题;而且我似乎无法理解导致此 indexOf 错误的原因。我试图查看缩小后的代码,发现问题出在 userAgent.indexOf 代码块上,但从那里没有多大意义。

如果我取出新的 SinchClient 代码块,则不再出现错误(我还注释掉了与 Sinch 代码有关的所有内容)。其他人有这样的问题吗?知道为什么 Sinch SDK 的 nodejs 模块似乎适合需要在浏览器上运行的代码。

【问题讨论】:

    标签: node.js express sinch


    【解决方案1】:

    Sinch JS 库是一个客户端库,用于带有 webrtc 和麦克风的浏览器。您不能在节点服务器端使用它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多