Я использую видеозвонок в connectycube . Мне нужно захватить удаленный сеанс с помощью следующего метода. Это значит принимать входящий звонок. До сих пор это работает хорошо, и я принимаю вызов. Но этот поток не добавляет никаких кнопок подтверждения для вызываемого абонента, из-за чего у меня возникает проблема.
// confirmation about call accepted
ConnectyCube.videochat.onAcceptCallListener = function(session, userId, extension) {
console.log('call accepted');
};
ConnectyCube.videochat.onCallListener = (session, extension) => {
console.log('session assigned');
// assign remote session to local sesion
this._session = session;
$('#modalIncomingCall').modal('show');
console.log('print out this._session');
console.log(this._session);
// accept this._session
const mediaParams = {
audio: true,
video: true,
elementId: 'localStream' // ID of audio/video DOM element to attach a video stream to
};
//**** start: this needs to be executed inside a button click event
var extension = {};
this._session.getUserMedia(mediaParams).then(stream => {
this._session.accept(extension);
});
//***** stop: this needs to be executed inside a button click event
};
Я попытался добавить сюда функцию jquery click, но это приводит к неопределенности сеанса, как в следующем фрагменте нерабочего кода ниже, и здесь возникает вопрос: как мне обернуть ниже указанных строк кода (с начала *** и остановки ***) внутри события щелчка, так что this._session
не становится неопределенным?
ConnectyCube.videochat.onCallListener = (session, extension) => {
console.log('session assigned');
// assign remote session to local sesion
this._session = session;
$('#modalIncomingCall').modal('show');
console.log('print out this._session');
console.log(this._session);
// accept this._session
const mediaParams = {
audio: true,
video: true,
elementId: 'localStream' // ID of audio/video DOM element to attach a video stream to
};
// inside this click function this._session is undefined
$('#acceptCallButton').click(function() {
// hide modal
$('#modalIncomingCall').modal('hide');
console.log('acceptcallbutton clicked');
var extension = {};
// this._session throws undefined error
this._session.getUserMedia(mediaParams).then(stream => {
this._session.accept(extension);
});
});
};