navigator.mediaDevices.getUserMedia ne fonctionne pas et ni ne webkitGetUserMedia
J'ai été en utilisant webkitGetUserMedia méthode (getUserMedia par adapter.js) pour obtenir l'appareil nad microhpone pour webRTC sur mon application web. Mon serveur n'est pas sécurisé (pas de certificat SSL). Tout a bien fonctionné jusqu'à ce que je commencé à recevoir un message d'erreur indiquant : "getUserMedia() ne fonctionne plus sur l'insécurité des origines. Pour utiliser cette fonctionnalité, vous devez envisager de passer votre demande de garantie d'origine, tels que HTTPS. Voir https://goo.gl/rStTGz pour plus de détails."
J'ai googlé et j'ai vu que maintenant dans google Chrome, j'ai besoin d'utiliser navigator.mediaDevices.getUserMedia(). Je suis en utilisant google Chrome 47.0.2526.80 m, et sur cette page https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia il est dit que cette méthode doit être pris en charge pour cette version. Cependant quand je l'appelle navigator.mediaDevices.getUserMedia-je obtenir de l'indéfini. Alors maintenant, je ne peux pas utiliser la méthode dans google Chrome.
Quelqu'un peut m'aider avec ce problème.
Grâce
Oui j'ai vu que, toutefois, sur la developer.mozilla.org/en-US/docs/Web/API/MediaDevices/... il ne dit rien à propos de la méthode ne fonctionne pas sur un mode non sécurisé origines.
En fait, il ne dit que, dans la note de bas de page 3 pour google Chrome.
OriginalL'auteur Michael P | 2015-12-08
Vous devez vous connecter pour publier un commentaire.
Selon la nouvelle mise à jour de chrome (à Partir de Google Chrome 47), getUserMedia() n'est plus pris en charge dans le navigateur google chrome sur http://(pas sûr de l'Origine) , Il va travailler sur https://(Secure Origine)
Pour des fins de développement,
1.localhost est traité comme un sûr origine sur HTTP, donc si vous êtes en mesure d'exécuter votre serveur à partir de localhost, vous devriez être en mesure de tester la fonctionnalité sur le serveur.
2.Vous pouvez exécutez google chrome avec la
--unsafely-treat-insecure-origin-as-secure="http://example.com"
drapeau (en remplaçant "example.com" à l'origine que vous voulez vraiment tester), qui traitera de cette origine comme sécurisé pour cette session. Notez que vous devez également inclure le--user-data-dir=/test/only/profile/dir
pour créer un nouveau test de profil pour le drapeau de travail.référence: https://sites.google.com/a/chromium.org/dev/Home/chromium-security/deprecating-powerful-features-on-insecure-origins
En fait, Firefox continue de soutenir
getUserMedia
sur http://Il ne fonctionne pas pour Chrome 48.0.2564.116 Chrome dit: Vous utilisez une non prise en charge indicateur de ligne de commande: --mal-traiter les victimes de l'insécurité alimentaire d'origine-comme-secure
Ya de ces options ne fonctionnent plus, mais Firefox ne supporte encore cette
Safeer j'obtiens l'erreur sur l'utilisation de cette commande: "google chrome ne peut pas lire et écrire dans son répertoire de données: /test/uniquement/profil/dir"
OriginalL'auteur Mohammed Safeer
Le dernier google chrome-mise à jour rend getUserMedia travailler uniquement sur la sécurité des origines.
Il existe une méthode pour le faire fonctionner, mais seulement pour des fins de développement.
Il suffit d'exécuter chrome en utilisant cmd avec ces options
et cette option pour utiliser un nouveau profil d'utilisateur
FYI getUserMedia travail sur firefox jusqu'à présent, mais à mon avis, il recommande une sécurisé origine comme google-chrome.
OriginalL'auteur Kassav'
Vous pouvez toujours utiliser l'ancien nom de la méthode dans google Chrome, 47, aussi longtemps que vous utilisez https. Le changement de nom est orthogonal à 47 du nouveau-origine exigence. Voir les autres réponses.
Sur le manque de méthodes:
navigator.mediaDevices.getUserMedia
a été mis de retour sous un drapeau dans Chrome, de sorte que vous devez soit activerchrome://flags/#enable-experimental-web-platform-features
ou utiliser une version récente de adapter.js comme ici: https://stackoverflow.com/a/34230983/918910.OriginalL'auteur jib