Локальный поток WebRTC исчезает при нажатии на ввод HTML

Поток WebRTC поначалу работает нормально со всеми участниками конференции. К сожалению, когда вы нажимаете на определенные элементы HTML, локальное потоковое видео исчезает.

Вы по-прежнему можете видеть удаленных пользователей, а удаленные пользователи могут видеть и слышать вас, но вы не можете видеть себя.

После исчезновения локального потока удаление и повторная инициализация виджета соединения/WebRTC не приведет к повторному появлению локального видео. Браузер необходимо обновить, но щелчок по элементу HTML приводит к повторному появлению той же проблемы.

Ошибок javascript нет, и единственное, что есть в элементе HTML, — это событие фокуса, которое устанавливает локальную переменную (оно не делает ничего сумасшедшего).

Могу ли я что-нибудь сделать, чтобы остановить это?

    goinstant.connect(url, function(err, connection) {
        if (err) {
            throw err;
        }

        var room = connection.room("new_room_id");

        room.join(function(err) {
            room.self().key("displayName").set("my_username");

            var stun = {
                url: 'stun:stun.l.google.com:19302'
            };

            var turn = {
                url: 'turn:numb.viagenie.ca',
                username: '[email protected]',
                credential: 'password'
            };

            that._webrtc = new goinstant.widgets.WebRTC({
                room: room,
                autoStart: true,
                peerConnectionConfig: {
                    iceServers: [stun, turn]
                }
            });

            webrtc.initialize(function(err) {
                if (err) {
                    console.log("Error starting video: " + err);
                }
                else {
                    $(".gi-webrtc").draggable();
                }
            });
        });
    });

person JumpJumpSlash    schedule 29.03.2014    source источник
comment
Могу сказать что-нибудь только после просмотра вашего кода, поэтому сначала опубликуйте свой код.   -  person Suman Bogati    schedule 30.03.2014
comment
Я добавил код, который использую для настройки соединения. Приложение построено с использованием backbone.js   -  person JumpJumpSlash    schedule 31.03.2014
comment
Мы попытались воспроизвести это локально с помощью jQuery#draggable, но безуспешно. Есть ли живая демонстрация вашего приложения, которую мы можем использовать для отладки этой проблемы?   -  person GoInstant Support    schedule 31.03.2014
comment
Определенно! Вот ссылка на доску, которую вы можете отлаживать на gamestorming-10443.onmodulus.net/board/533acfb6c32f5e000000000d   -  person JumpJumpSlash    schedule 01.04.2014
comment
Если вы попытаетесь удалить класс 'gi-stream' из элемента видео, например $('.gi-local video').attr('class', '') это перестанет происходить. Возможно ли, что у вас есть какой-то код, который взаимодействует с элементом видео через его имя класса, когда вы нажимаете на текстовую область чата?   -  person GoInstant Support    schedule 03.04.2014
comment
Обновлять. Проблема вызвана стилем -webkit-transform: scaleX(-1). Это приводит к тому, что элемент видео не отображается при нажатии на текстовую область, что, по-видимому, является ошибкой с преобразованием webkit для элемента видео.   -  person GoInstant Support    schedule 03.04.2014


Ответы (1)


Это происходит, когда вы нажимаете на текстовую область на странице.

Удаление стиля "-webkit-transform: scaleX(-1)" из видео в HTML предотвращает это.

person JumpJumpSlash    schedule 09.04.2014