Невозможно отключить / уничтожить / unpubli sh поток opentok - PullRequest
1 голос
/ 21 июня 2020

Я создаю базовую 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'

...