2011-12-15 11 views

Respuesta

3

he tratado de la manera más obvia para detectar si la imagen se pudo cargar o no:

$output = $('<img id="webcam">') 
     .attr('src', src) 
     .load(function(){alert('ok')}) 
     .error(function(){alert('error')}); 

imagen Caja En podido cargar load evento se disparó, de lo contrario error. Comprueba esto en Chrome e IE8 recientes. Funciona como se esperaba

+0

Esto no funciona en los navegadores web Android. Al menos en dos teléfonos Samsung diferentes, el navegador predeterminado de Android no muestra el MJPEG, ni dispara un evento de carga o error: trata de cargar el flujo "completo" sin procesarlo. – garlon4

4

Modernizr only supports the following formats for detection right now: ogg, webm and h264.

El elemento de vídeo tiene una llamada llamada canPlayType(format) que realmente sería su única opción (si funciona para MJPG). Su lógica de detección sería algo como esto (no el formato sería diferente).

var videoElement = document.createElement('video'); 
if(!!videoElement.canPlayType) 
{ 
    var browserConfidence = videoElement.canPlayType('video/mjpeg; codecs="insert, them"'); 
    if(browserConfidence == "probably") 
    { 
    // high confidence 
    } 
    else if(browserConfidence == "maybe") 
    { 
    // low confidence 
    } 
    else 
    { 
    // no confidence... it definately will not play 
    } 
} 

Asegúrese de que visit the W3C's information on canPlayType. Parece que el tipo de mimo debería ser "video/mjpeg" y no "video/mjpg" como especificó anteriormente.

+0

Nada bueno en 2016. –

Cuestiones relacionadas