Проблемы с камерой на устройствах Huawei (Cordova) - PullRequest
0 голосов
/ 20 февраля 2019

Я сделал приложение, которое использует камеру (сзади), я сделал это, используя cordova, плагин: «cordova-plugin-camera-preview» и следующий код:

function captura_video() {
        try{     

            window.canvas_video_temp = document.createElement("canvas");
            window.contexto_video_temp = canvas_video_temp.getContext("2d");

            var promisifiedOldGUM = function(constraints) {
                var getUserMedia = (navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia);

                if(!getUserMedia) {
                    return Promise.reject(new Error('Este dispositivo no esta preparado para el manejo de camara'));
                }

                return new Promise(function(resolve, reject) {
                    getUserMedia.call(navigator, constraints, resolve, reject);
                });
            }

            if(navigator.mediaDevices === undefined) {
                navigator.mediaDevices = {};
            }

            if(navigator.mediaDevices.getUserMedia === undefined) {
                navigator.mediaDevices.getUserMedia = promisifiedOldGUM;
            }

            window.videoElement = document.getElementById("pantalla_video");

            navigator.mediaDevices
            .getUserMedia(window.constraints)
            .then(
                stream => {
                    window.videoElement.srcObject=stream;
                    window.videoElement.onloadedmetadata = () => {
                        window.videoElement.play();
                        auxiliar();
                    };
                }
            ).catch(
                err => {
                    alert("Error mediaDevices: " + err.code); //THE ERROR APPEAR HERE SHOWING A ZERO
                }
            );
        }catch(err2){
            alert("Error de captura de video: " + err2.message);
        }
    }


    function auxiliar(){
        try{
            if (window.videoElement.readyState === window.videoElement.HAVE_ENOUGH_DATA) {
                //SOME DIRTY THINGS HERE
            }
            requestAnimationFrame(bucle_cuadros);
        }catch(err){
            alert("Error bucle_captura: " + err.message);
        }
    }

И работает отличнона устройствах Samsung, но не на нескольких устройствах Huawei, на Huawei появляется предупреждение с сообщением: «Ошибка mediaDevices: 0»

Кто-нибудь знает, в чем может быть проблема?Это проблема плагина или моего кода?

Извините, если есть что-то, чего я не вижу, Im noob с обработкой камеры.

Спасибо.

Редактировать: Я видел этоперед установкой он не отображает необходимые разрешения (камера), вместо этого он показывает «Нет специальных требований» («Для этого не требуются специальные разрешения»).Поэтому я предполагаю, что устройство не распознает файл config.xml, я прав?

...