Ionic3 Opentok session.connect没有工作

问题描述 投票:0回答:1

我正在使用ionic3和[email protected]我的会话是由node.js后端创建的,它返回会话ID和令牌而没有任何问题。

当我使用该令牌连接到一个会话时,调用永远不会返回(错误的hander代码),在我的手机上,我在Android手机上看到一个窗口,但没有任何来自我的相机的流媒体。

尝试升级到3.4.2插件,但随后在gradle上出现错误。看了很多关于堆栈溢出的交流和插件文档中的Q&A。

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);
    }
android session ionic3 opentok
1个回答
0
投票

TokBox Developer Evangelist在这里。

以前,Cordova OpenTok插件存在问题,因为它不支持error方法的session.connect处理程序。这是用Release v3.4.3修复的。

如果您无法升级,可以从实现中删除error处理程序并调用connect和publish,如下所示:

this.session.on({
    sessionConnected: (event: any) => {
        this.session.publish(this.publisher);
    },
});

this.session.connect(this.token);

但是,我强烈建议您进行升级,以便在尝试发布之前验证是否存在错误。如果由于插件存在问题而无法升级,请将其归档为here

© www.soinside.com 2019 - 2024. All rights reserved.