9

IE ハンドルMJPEG( Motion JPEG ) を除く最新のブラウザ。これがフィドルの例です

のサポートを検出できますMJPEGか? Modernizrを無駄に調べました。

4

3 に答える 3

4

Modernizr は現在、ogg、webm、および h264 の検出形式のみをサポートしています。

ビデオ要素には、実際に唯一のオプションとなる呼び出しがcanPlayType(format)あります (mjpg で機能する場合)。検出ロジックは次のようになります (形式が異なるわけではありません)。

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
  }
}

canPlayTypeに関する W3C の情報にアクセスしてください。MIME タイプは、先ほど指定した「video/mjpg」ではなく、「video/mjpeg」にする必要があるようです。

于 2011-12-19T15:41:56.893 に答える
3

画像をロードできるかどうかを検出する最も明白な方法を試しました。

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

画像をロードできた場合はloadイベントが発生し、それ以外の場合はerror. 最近のChromeとIE8でこれを確認しました。期待どおりに動作します。

于 2011-12-19T15:55:52.883 に答える
1

残念ながら、これには、IEでmjpgをサポートするためにActiveXコントロールを使用する必要があります。Webページにmjpegファイルを埋め込む方法を参照してください。

于 2011-12-21T20:10:23.227 に答える