Tokbox: положение видео смещается, когда один из пользователей обновляет страницу

С помощью моего кода я смог настроить видеоконференцию между двумя пользователями. Проблема в том, что если один пользователь обновляет страницу, другой пользователь получает видео внизу страницы, а не в div, выделенном для видео по подписке. Причина этого в том, что когда один пользователь обновляет страницу, для второго пользователя вызывается только событие streamcreated, и в это время div становится нулевым. У меня есть следующий код при загрузке страницы:

       var session = OT.initSession(apiKey, sessionId)
            .connect(token, function(error) {

                var publisher = OT.initPublisher('divPublish');
                session.publish(publisher);
                console.log("Publishing to session1");
            });


                var session2 = OT.initSession(apiKey, sessionId2);
                session2.connect(token2, function(error) {
                    if (error) {
                        console.log("Error connecting: ", error.name, error.message);
                    } else {
                        console.log("Connected to the session2.");
                    }
                });

                session2.on("streamCreated", function(event) {
                    divSubscribe = document.getElementById('divSubscribe'); // This is coming null
                    session2.subscribe(event.stream, 'divSubscribe');
                    console.log("Subscribing to session2");
                });

person Karts    schedule 21.03.2017    source источник


Ответы (1)


По умолчанию подписчики и издатели заменят указанный вами элемент. Я думаю, что вы хотите вставить подписчиков в «divSubscribe» вместо его замены. Вы можете сделать это, установив свойство insertMode метода подписки чтобы «добавить» так:

session2.subscribe(event.stream, 'divSubscribe', {insertMode: 'append'});
person Adam Ullman    schedule 27.03.2017