我正在将ionic3与cordova-plugin-opentok@3.2.2
一起使用
我的会话由node.js后端创建,返回的会话ID和令牌没有任何问题。
当我使用该令牌连接到会话时,呼叫永不返回(错误处理程序代码),并且在我的手机上,我在android手机上看到一个窗口,但相机中没有任何流媒体。
尝试升级到3.4.2插件,但随后在gradle上出现错误。在堆栈溢出和插件文档中的问答中查看了许多交流。
startCall() {
// Get the session ID and Token from the server
this.discussionService.initiateVideoCall({userId:this.selUser._id.toString(),slot:this.slotDetails}).subscribe(callDetails => {
this.callDetails = callDetails;
this.token = this.callDetails.token;
this.sessionId = this.callDetails.sessionId;
//this.startVideoCall();
});
}
startVideoCall() {
this.session = OT.initSession(this.apiKey, this.sessionId);
this.publisher = OT.initPublisher('publisher');
this.session.on({
streamCreated: (event: any) => {
this.session.subscribe(event.stream, 'subscriber');
OT.updateViews();
},
streamDestroyed: (event: any) => {
console.log(`Stream ${event.stream.name} ended because ${event.reason}`);
OT.updateViews();
},
sessionConnected: (event: any) => {
this.session.publish(this.publisher);
}
});
this.session.connect(this.token, (error: any) => {
<<< The line below never gets executed>>>>
if (error) {
console.log(`There was an error connecting to the session ${error}`);
}
});
this.session.publish(this.publisher);
}
答案 0 :(得分:0)
此处是TokBox开发人员的传播者。
以前,Cordova OpenTok插件存在问题,因为它不支持google-credentials-JSON
方法的gem 'sqlite3', git: "https://github.com/larskanis/sqlite3-ruby", branch: "add-gemspec"
处理程序。该问题已通过Release v3.4.3修复。
如果无法升级,则可以从实现中删除kubectl get events --sort-by='.lastTimestamp'
处理程序,并按如下所示调用connect和publish:
error
但是,我强烈建议您进行升级,以便您可以在尝试发布之前验证是否存在错误。如果由于插件存在问题而无法升级,请将其归档here。