Я создаю базовую c функцию аудио / видео чата, и все вроде работает нормально, но я не могу избавиться от сеанса, и он не разрушается.
У меня есть попробовал так же, как в документах:
call_session = OT.initSession(params['api_key'], params['session_id']);
Я получаю session_id
с сервера, который использует PHP SDK.
Ниже приведены события streamCreated
и streamDestroyed
call_session.on('streamCreated', function(event) {
call_stream = event.stream;
var subscriber = call_session.subscribe(event.stream, 'subscriber', {
insertMode: 'append'
}, CHAT_CALL.handleError);
});
call_session.on("streamDestroyed", function(event) {
console.log("Stream " + event.stream.name + " ended. " + event.reason);
});
А вот вызов подключения к сеансу:
call_session.connect(params['token'], function(error) {
// If the connection is successful, publish to the session
if (error) {
CHAT_CALL.handleError(error);
} else {
// console.log("Connected !!!");
// Create a publisher
call_publisher = OT.initPublisher('publisher', {
insertMode: 'append',
width: '100%',
height: '100%',
publishAudio: enable_audio,
publishVideo: enable_video,
// style: {
// buttonDisplayMode: 'on'
// }
}, CHAT_CALL.handleError);
call_session.publish(call_publisher, CHAT_CALL.handleError);
}
});
}
Но проблемная c часть - это функция ниже, где я пытаюсь отменить публикацию sh и отключить сеанс.
end_call: function(){
call_session.disconnect();
call_session.unpublish(call_publisher);
call_publisher.destroy();
}
Вызов end_call
дает мне ошибку ниже:
The publisher XYZ is trying to unpublish from a session ABC it is not attached to (it is attached to no session)
За ней следует ошибка ниже:
Invalid state transition: Event 'disconnect' not possible in state 'disconnected'