华为设备(Cordova)的相机问题

时间:2019-02-20 02:33:14

标签: android cordova camera huawei

我做了一个使用相机(后置)的应用程序,我是使用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);
        }
    }

并且可以在三星设备上正常运行,但不能在多个华为设备上正常运行,在华为上会显示警告消息:“错误的MediaDevices:0”

有人知道可能是什么问题吗? 插件或我的代码有问题吗?

对不起,如果我看不到东西,我是菜鸟,正在使用相机。

谢谢。

编辑:我看到在安装之前,它没有显示所需的权限(相机),而是显示“没有必要的特殊权限”(“它不需要特殊权限”)。因此,我假设设备无法识别config.xml文件,对吗?

0 个答案:

没有答案