0

Je veux obtenir le flux vidéo de mon appareil photo arrière dans une application ionique. Pour cela, j'utilise getUserMedia qui fonctionne correctement pour la caméra frontale.GetUserMedia - faceMode non reconnu malgré adaptateur.js

Quand je change le mode face à 'environnement' J'ai eu cette erreur:

Unknown constraint named facingMode rejected ConstraintNotSatisfiedError

Dans mon application ionique j'ai déjà installé le package NPM "WebRTC adaptateur".

Voici mon code pour obtenir le flux de la caméra arrière:

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); 

Je pense que c'est un problème de compatibilité. Est-ce que quelqu'un peut m'aider ?

Merci.

Répondre

1

Vous utilisez une syntaxe de contraintes non standard obsolète. adapter.js polyfills la spécification, donc pour en bénéficier vous devez follow the spec. E.g. au lieu de:

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

utilisation

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

J'ai déjà an answer with a working example of this. Cela devrait fonctionner avec Chrome. Je ne sais pas si cela fonctionnera avec ionique ou non. Faites-moi savoir si cela ne fonctionne pas.

+0

Merci pour votre réponse, mais quand j'utilise cette syntaxe, je n'ai pas d'erreur mais la caméra est toujours en mode 'utilisateur' –

+0

@DamienLD Assurez-vous que vous avez mis à jour à la [dernière version] (https: // github .com/webrtc/adaptateur/pull/495) de l'adaptateur. Aussi, sur quel appareil est-ce, et [quelles caméras] (http://jsfiddle.net/jib1/tsa6rrt7/) at-il? – jib

+0

J'ai la dernière version de l'adaptateur (3.3.3) et je cours le code sur deux appareils: Huawei Honor et Huawei P9 lite. J'ai deux caméras sur chacune mais 'd.label' ne retourne rien, est-ce un problème? –