Firefox - mediaDevices.getUserMedia создает AbortError - PullRequest
0 голосов
/ 19 сентября 2018

Я получаю следующую ошибку в Firefox (без проблем в Chrome / Edge / Safari):

MediaStreamError { name: "AbortError", message: "Starting video failed", constraint: "", stack: "" }

При появлении этой ошибки консоль браузера отображает <недоступно>.

IЯ использую адаптер-latest.js из webrtc.github.io, и код отлично работает на других страницах моего приложения, но не на одной конкретной странице.Есть ли возможность выяснить, что мешает getUserMedia?Я уже пытался закомментировать все другие библиотеки и включает.

Мой код:

       var video = document.getElementById('recorder');
       video.onloadedmetadata = function(e) {
           $("#takePicture").show();

           if($("#customerImage").attr("src") == ""){
               $("#recorder").show();
           }
       };
       navigator.mediaDevices.getUserMedia({ video: true})
           .then(stream => {
               video.srcObject = stream;
           })
           .catch(e => console.log(e));

1 Ответ

0 голосов
/ 19 сентября 2018

Вы действительно уверены, что вам нужен адаптер?По моему опыту, это создает больше проблем, чем решает.

Можете ли вы попробовать использовать ограничения?

Пример (некоторые вещи я убрал, но здесь это работает как шарм):

 constraints = {
    width: 1280,
    height: 720,
    frameRate: 10, //mobile
    facingMode: {
        exact: "environment"
    } //mobile
}



navigator.mediaDevices.getUserMedia({
    audio: false,
    video: constraints
}).
then(handleSuccess).catch(handleError);


function handleSuccess(stream) {
    video.src = URL.createObjectURL(stream);
    video.play();
}

function handleError(error) {
    console.log('navigator.getUserMedia error: ', error);
}
...