Я использую ionic3 с cordova-plugin-opentok@3.2.2
Мой сеанс создается внутренним узлом node.js, который возвращает идентификатор сеанса и токен без каких-либо проблем.
Когда я использую этот токен для подключения к сеансу, вызов никогда не возвращается (в коде ошибки), и на моем мобильном телефоне я вижу окно на телефоне 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);
}