Mam elementu wideo:Pierwsze prawdziwe HTML5 wysokość i szerokość filmu
var video = window.content.document.createElement("video");
video.width = width;
video.height = height;
video.style.backgroundColor = "black";
window.content.document.body.appendChild(video);
A ja pobierania To źródło poprzez getUserMedia() na Firefox:
window.navigator.getMedia = (window.navigator.getUserMedia || window.navigator.webkitGetUserMedia || window.navigator.mozGetUserMedia || window.navigator.msGetUserMedia);
window.navigator.getMedia(//constraints, sucessCallback, errorCallback
{video: true, audio: false},
function(stream) {
if (window.navigator.mozGetUserMedia)
video.mozSrcObject = stream;
else
{
var vendorURL = window.URL || window.webkitURL;
video.src = vendorURL.createObjectURL(stream);
}
video.play();
},
function(err) {
console.log("Error: " + err);
}
);
Problem polega na tym, że trzeba wiedzieć w „aktywny obszar” z filmu, i to wraca do mnie 0:
video.onloadedmetadata = function(){
console.log(this.width + "x" +this.height);
console.log(this.videoWidth + "x" +this.videoHeight);
}
Tak, jak mogę odzyskać prawdziwą wartość s ?:
Kiedy uruchamiam twój kod za pomocą FF, this.width i this.height zwracają rzeczywiste wymiary elementu wideo. Aby przetestować ustawiłem video.width i video.height równe 400, a pierwsza linia konsoli zwróciła 400x400. – Sam