我正在尝试使用Sinch调用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这显然是node模块的当前版本中的Sinch SDK的问题;我似乎不能理解是什么导致了这个indexOf错误。我试图查看精简后的代码,发现问题出在userAgent.indexOf代码块上,但从那里看并没有多大意义。
如果我取出新的SinchClient代码块,错误就不再出现(我还注释掉了与Sinch代码有关的所有内容)。其他人也有类似的问题吗?知道为什么Sinch的nodejs模块似乎迎合了需要在浏览器上运行的代码吗?
发布于 2018-09-06 05:24:39
Sinch库是一个客户端库,适用于带有webrtc和麦克风的浏览器,不能在节点服务器端使用。
https://stackoverflow.com/questions/52176065
复制相似问题