"Ошибка вызова getUserMedia: DOMException" Видеовызов Twilio с версией Chrome "Версия 72.0.3626.96"

Я добавил twsio видео js файл из cdn "// media.twiliocdn.com/sdk/js/video/releases/1.14.1/twilio-video.min.js"

Я пытался добавить adepter.js, но кажется, что та же ошибка.

        Twilio.Video.createLocalTracks({
            audio: true,
            video: { width: 300 }
        }).then(function(localTracks) {

            return Twilio.Video.connect('{!! $accessToken !!}', {
                name: '{{ $roomName }}',
                tracks: localTracks,
                video: { width: 300 }
            });
        }).then(function(room) {

            console.log('Successfully joined a Room: ', room.name);

            room.participants.forEach(participantConnected);

            var previewContainer = document.getElementById(room.localParticipant.sid);
            if (!previewContainer || !previewContainer.querySelector('video')) {
                participantConnected(room.localParticipant);
            }

            room.on('participantConnected', function(participant) {
                console.log("Joining: '" + participant.identity + "'");
                participantConnected(participant);
            });

            room.on('participantDisconnected', function(participant) {
                console.log(participant);
                console.log("Disconnected: '" + participant.identity + "'");
                participantDisconnected(participant,room);
            });


        });

Всегда получалось:- Не удалось вызвать getUserMedia: DOMException

2 ответа

Не уверен на 100%, применимо ли это к этому сценарию, но для меня это произошло, когда я пытался подключить или создать локальную видеодорожку, когда не было доступной камеры, т.е. мой ноутбук находился на внешнем мониторе с закрытой крышкой. Как только появилось подходящее устройство, оно подключилось нормально.

Вы можете получить доступ к сообщению об ошибке в DOMExpception объект через error.messageатрибут. Если написано "Устройство недоступно" или что-то подобное, то, вероятно, это именно так. Не знаю, почему весь объект не выводится на консоль или для этого в Twilio SDK нет встроенной обработки ошибок, я предполагаю, что это происходит довольно часто.

Возможный шаблон для решения этой проблемы - проверить, доступны ли какие-либо устройства требуемого типа в navigator.mediaDevices и после этого добавьте соответствующие параметры инициализации для .connect()вызов. Я еще не разбирался в этом, но, вероятно, лучший подход - создать треки отдельно от соединения, поскольку пользователь может изменить устройство в любой момент.

Ошибка не связана с twilio, Google Chrome или любым другим браузером... Я не уверен, что это именно так для вас, но для меня это было связано с тем, что я пытался проверить качество видео в двух разных браузерах на одном компьютере. . Таким образом, первый, который обращается к ресурсам, т. е. к камере и микрофону, смог успешно подключиться, в то время как второй браузер выдал исключение [createLocalTracks #2]. Ошибка вызова getUserMedia: DOMException: Не удалось запустить источник видео.

Другие вопросы по тегам