Bunu, videoWidth
ve videoHeight
özelliklerini kullanmak mümkün olmalıdır:
GÜNCELLEME
// Check camera stream is playing by getting its width
video.addEventListener('playing', function() {
if (this.videoWidth === 0) {
console.error('videoWidth is 0. Camera not connected?');
}
}, false);
: Aslında bu Opera'da çalışıyor ancak görünmüyor artık ve değişmedi Chrome'da desteklenecek Firefox'ta (en azından video akışları için değil) uygulandı. Yine de, HTML5 spec numaralı telefondan, bu tarayıcıların yol haritasını umarız.
UPDATE 2: Bu işe yarıyor, ancak dinlenecek olay "oynatılıyor" ve "oynatma" değil (yukarıdaki kodda sabitlenmiş). "Çalma" olayı, play()
yöntemi döndürüldüğünde tetiklenir, oysa oynatma gerçekten başladığında "oynatma" olayı tetiklenir. Opera, Chrome ve Firefox'ta test edildi.
GÜNCELLEME 3: Firefox 18, "oynatma" olayını art arda ateşliyor gibi görünüyor; bu, tarayıcının dinleyicide çok fazla kod çalıştırıyorsanız durması anlamına gelebilir. o kovulduğunu sonra daha iyi bu yüzden gibi dinleyici kaldırmak için:
var videoWidth, videoHeight;
var getVideoSize = function() {
videoWidth = video.videoWidth;
videoHeight = video.videoHeight;
video.removeEventListener('playing', getVideoSize, false);
};
video.addEventListener('playing', getVideoSize, false);
Evet, gördüm, ama ... Chrome veya Firefox Diğer fikirler değil mi? Teşekkürler! –
Afraid değil. Artık Chrome'da çalışmayı bıraktım, kendime bir geçici çözüm arıyorum. Üzgünüm, yardım edemedim. – tagawa
Anladım! Biraz deneme yaptıktan sonra, videoWidth özelliği yalnızca "çalma" olayının ("oynatma" değil) işlendikten sonra var olduğu ortaya çıkar. Bunu göstermek için yukarıdaki cevabı güncelledik. – tagawa