GetUserMedia - 尽管adapter.js facingMode无法识别(GetUse

2019-09-27 06:05发布

我想我的后置摄像头的视频流中的离子的应用。 对于这一点,我使用的是前摄像头正常工作getUserMedia。

当我改变面向模式为“环境”我得到这个错误:

Unknown constraint named facingMode rejected ConstraintNotSatisfiedError

在我的应用离子我已经安装了故宫包“的WebRTC适配器”。

这里是我的代码从后置摄像头的流:

this.constraints = { audio: true, video: {mandatory: { facingMode: 'environment'}}};
        cordova.plugins.diagnostic.requestRuntimePermission( (status) => {
            if (cordova.plugins.diagnostic.permissionStatus.GRANTED){

                navigator.getUserMedia(this.constraints, (stream) => {
                    let video = <HTMLVideoElement>document.getElementById('localVideo');
                    video.srcObject =  stream;
                }, function(err){
                    console.log("Error get stream: ", err.name);
                });
            }
        }, (error) => {
            console.error("Error during runtime permission :", error);
        }, cordova.plugins.diagnostic.permission.CAMERA);

我认为这是一个兼容性问题。 任何人都可以帮我吗?

谢谢。

Answer 1:

您正在使用过时的非标准约束语法。 adapter.js polyfills规范,因此从中受益,你必须遵循的规范 。 例如,而不是:

{audio: true, video: {mandatory: {facingMode: 'environment'}}};

采用

{audio: true, video: {facingMode: {exact: 'environment'}}};

我已经有与此工作示例答案 。 它应与Chrome浏览器。 不知道这是否会与离子或无法正常工作。 让我知道,如果它不能正常工作。



文章来源: GetUserMedia - facingMode not recognized despite adapter.js