Chrome: navigateur.mediaDevices.getUserMedia n'est pas une fonction
Je suis sur localhost et l'utilisation de la MediaDevices.getUserMedia méthode dans google Chrome. Je reçois l'erreur comme intitulé. Je comprends que dans google Chrome, il est seulement possible d'utiliser cette fonction avec une sécurité d'origine et que localhost est considéré comme sûr origine. Aussi, cela fonctionne dans Firefox.
C'est de cette façon que je suis en utilisant comme montré sur le Google site web des Développeurs https://developers.google.com/web/updates/2015/10/media-devices?hl=en:
var constraints = window.constraints = {
audio: false,
video: true
};
navigator.mediaDevices.getUserMedia(constraints).then(function(stream) {
callFactory.broadcastAssembly(stream);
...
});
Je pense que vous devez avoir HTTPS afin de l'obtenir pour fonctionner.
Desservant plus de localhost est spécifiquement autorisé: chromium.org/Home/chromium-security/...
pas au moment où j'ai écrit le commentaire, si.
Desservant plus de localhost est spécifiquement autorisé: chromium.org/Home/chromium-security/...
pas au moment où j'ai écrit le commentaire, si.
OriginalL'auteur muninn9 | 2016-05-19
Vous devez vous connecter pour publier un commentaire.
D'essayer de l'activer: chrome://flags/#enable-expérimental-le web de la plate-forme dispose d'
A travaillé pour moi dans le chrome
navigator.mediaDevices.getUserMedia
défini dans Chrome, mais pas de Chrome? MDN met en garde contre l'utilisation de le obsolètenavigator.getUserMedia
, avertissant que "il peut se casser à tout moment." J'essaie de ne pas l'utiliser, maisnavigator.mediaDevices.getUserMedia
n'est pas disponible dans le Chrome sans changer de drapeau. EDIT: Contrairement à ce que j'ai lu, il n'a pas sortir jusqu'à ce que Chrome 53 (j'utilise Chrome 52).J'ai trouvé la réponse dans les notes de bas de page sur MDN:
From version 47 to 52, the promise-based interface was only available through the adapter.js polyfill, or using the flag chrome://flags/#enable-experimental-web-platform-features. Starting with version 53, the promise-based interface is on by default, though that interface is still not available through navigator.
J'utilise la Version 71.0.3578.98 (Officiel) (64-bit), et
#enable-experimental-web-platform-features
ne m'a pas aidé avec l'aide de Twilio: github.com/TwilioDevEd/client-quickstart-js/blob/....OriginalL'auteur Simon Malone
Sur certains navigateurs les plus récents
navigator.getUserMedia
ne fonctionne pas correctement. Donc, essayez d'utiliser navigator.mediaDevices.getUserMedia. Ou, mieux vous vérifier sinavigator.mediaDevices.getUserMedia
est disponible pour le navigateur que vous utiliseznavigator.mediaDevices.getUserMedia
ou d'utilisernavigator.getUserMedia
.Espère que cela permettra de résoudre votre problème.
OriginalL'auteur Amrendra
Utilisation navigator.getUserMedia() à la place.
Vous pouvez utiliser celui que vous voulez, mais vous devrez écrire une sorte de polyfill.
OriginalL'auteur Adrian Ber
Avez-vous essayé d'inclure
adapter.js
polyfill ? Consulter cette page :https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getUserMedia#Browser_compatibility
Il ressemble à ceci ou de l'activation
chrome://flags/#enable-experimental-web-platform-features
comme par@Simon Malone
note, est nécessaire pour Chrome.OriginalL'auteur Philippe Sultan
J'ai eu ce problème aussi, et changent de pavillon n'a pas l'air de fonctionner. Je suis tombé sur cette extension chrome — Serveur Web pour google Chrome dans Google WebRTC tutoriel qui semblait faire l'affaire.
OriginalL'auteur ellerynz