J'ai ouvert une webcam en utilisant le code JavaScript suivant: navigator.getUserMedia
Existe-t-il un code JavaScript pour arrêter ou fermer la webcam? Merci tout le monde.
la source
J'ai ouvert une webcam en utilisant le code JavaScript suivant: navigator.getUserMedia
Existe-t-il un code JavaScript pour arrêter ou fermer la webcam? Merci tout le monde.
ÉDITER
Depuis que cette réponse a été publiée à l'origine, l'API du navigateur a changé.
.stop()
n'est plus disponible sur le flux qui est transmis au rappel. Le développeur devra accéder aux pistes qui composent le flux (audio ou vidéo) et arrêter chacune d'elles individuellement.
Plus d'informations ici: https://developers.google.com/web/updates/2015/07/mediastream-deprecations?hl=en#stop-ended-and-active
Exemple (à partir du lien ci-dessus):
stream.getTracks().forEach(function(track) {
track.stop();
});
La prise en charge du navigateur peut différer.
Réponse originale
navigator.getUserMedia
vous fournit un flux dans le rappel de réussite, vous pouvez appeler .stop()
ce flux pour arrêter l'enregistrement (au moins dans Chrome, semble que FF ne l'aime pas)
stream.stop()
pour Chrome,mediaRecorder.stop()
arrête l'enregistrement, alors que cela n'arrête pas le flux fourni par le navigateur. Pouvez-vous consulter ce stackoverflow.com/questions/34715357/…Utilisez l'une de ces fonctions:
Remarque: La réponse a été mise à jour le: 06/09/2020
la source
stream.getTracks().forEach(track => { track.stop() })
? Ou si vous faites cela assez souvent pour justifier un raccourci, vous pouvez toujours définir une fonction d'assistance commestopAllTracks(stream)
.Ne pas utiliser
stream.stop()
, c'est obsolèteObsolescence de MediaStream
Utilisation
stream.getTracks().forEach(track => track.stop())
la source
FF, Chrome et Opera ont commencé à exposer
getUserMedia
vianavigator.mediaDevices
en standard maintenant (pourrait changer :)démo en ligne
la source
Démarrage de la vidéo webcam avec différents navigateurs
Pour Opera 12
Pour Firefox Nightly 18.0
Pour Chrome 22
Arrêt de la vidéo webcam avec différents navigateurs
Pour Opera 12
Pour Firefox Nightly 18.0
Pour Chrome 22
Avec cela, la lumière de la webcam s'éteint à chaque fois ...
la source
Supposons que nous ayons un streaming dans la balise vidéo et que l'identifiant soit la vidéo -
<video id="video"></video>
alors nous devrions avoir le code suivant -la source
Vous pouvez terminer le flux directement à l'aide de l'objet de flux renvoyé dans le gestionnaire de succès pour getUserMedia. par exemple
video.src=""
ounull
supprimerait simplement la source de la balise vidéo. Il ne libérera pas le matériel.la source
Essayez la méthode ci-dessous:
la source
Si le
.stop()
est obsolète, je ne pense pas que nous devrions le rajouter comme @MuazKhan dose. C'est une raison pour laquelle les choses sont obsolètes et ne devraient plus être utilisées. Créez simplement une fonction d'assistance à la place ... Voici une version plus ES6la source
for (let track of stream.getTracks()) { track.stop() }
stream.getTracks().forEach(function (track) { track.stop() })
dans ES5, cela évite de longues transformations defor of
Puisque vous avez besoin des pistes pour fermer le streaming et que vous avez besoin du
stream
boject pour accéder aux pistes, le code que j'ai utilisé avec l'aide de la réponse de Muaz Khan ci-dessus est le suivant:Bien sûr, cela fermera toutes les pistes vidéo actives. Si vous en avez plusieurs, vous devez sélectionner en conséquence.
la source
Vous devez arrêter toutes les pistes (depuis la webcam, le microphone):
la source
L'utilisation de .stop () sur le flux fonctionne sur Chrome lorsqu'il est connecté via http. Cela ne fonctionne pas lors de l'utilisation de ssl (https).
la source
Veuillez vérifier ceci: https://jsfiddle.net/wazb1jks/3/
Arrête d'enregistrer
la source
Le code suivant a fonctionné pour moi:
la source
Démarrer et arrêter la webcam, (mise à jour 2020 React es6)
Démarrer la caméra Web
Arrêter la lecture de la caméra Web ou de la vidéo en général
La fonction Stop Web Camera fonctionne même avec les flux vidéo:
la source
Avoir une référence de succès de formulaire de flux
la source