Bonjour
J'essaie de récupérer un flux de webcam, qui va aller sur un canevas et être manupilé dans tous les sens. Avec le code suivant, je récupère mon flux - peut-être même aussi avec iOS, qui est un autre gros problème, mais pas ici -, tout va bien. Comme ça doit pouvoir être vu surtout sur un smartphone, aussi sur une tablette, je veux récupérer les dimensions de l'image pour l'adapter au mieux à celles du device.
Et c'est là que je tombe sur un problème tès bête. J'ai aucun souci à récupérer les dimensions dans l'évènement, mais j'arrive pas à les sortir du bloc. Avec n'importe quel autre bloc, il suffit de faire une variable globales, mais là, elle sont ignorées.
Que faire ?
Merci d'avance.
J'essaie de récupérer un flux de webcam, qui va aller sur un canevas et être manupilé dans tous les sens. Avec le code suivant, je récupère mon flux - peut-être même aussi avec iOS, qui est un autre gros problème, mais pas ici -, tout va bien. Comme ça doit pouvoir être vu surtout sur un smartphone, aussi sur une tablette, je veux récupérer les dimensions de l'image pour l'adapter au mieux à celles du device.
Et c'est là que je tombe sur un problème tès bête. J'ai aucun souci à récupérer les dimensions dans l'évènement, mais j'arrive pas à les sortir du bloc. Avec n'importe quel autre bloc, il suffit de faire une variable globales, mais là, elle sont ignorées.
Que faire ?
Merci d'avance.
<!DOCTYPE html>
<body>
<video id='webcam' autoplay playsinline></video>
<script>
var webcam = document.getElementById('webcam');
var width, height ;
webcam.addEventListener("loadedmetadata", function(){
width = this.videoWidth ;
height = this.videoHeight
console.log("loadedMetaData: ", this.videoWidth, this.videoHeight) ;
});
console.log("hors fonction: ", width, height) ;
window.onload=function(){
console.log("Onload: ", width, height);
if (navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({
audio: false,
video: {
facingMode: 'environment'
}
})
.then(function(stream) {
webcam.srcObject = stream;
})
}
}
</script>
</body>