2013-09-02 14 views
8

利用できません。Firefoxの:のdrawImage(ビデオ)NS_ERROR_NOT_AVAILABLEで失敗:コンポーネントソースのウェブカメラフィードです <code>NS_ERROR_NOT_AVAILABLE: Component is not available</code>とFirefoxで失敗しているようだ<code>video</code>と<code>drawImage</code>を呼び出そうと

私はすべてのイベントのためにビデオタグ火災を待つことを試みた:playは、playingは、canplayは、loadeddataloadedmetadata、というように、と何も動作します。これは、ストリームが正しく<video>要素にロードされる前に、これらのイベントが発生しているためです。

JSFiddle with error(あなたがコンソールにエラーを表示することができます)

副作用は、ビデオの幅と高さも間違っているということです。

答えて

30

これはFirefoxのbugです。最も簡単な修正は、正しい時刻にイベントが発生しないため、エラーがなくなるまで試し続けます。

参照:http://jsfiddle.net/9aT63/25/

は基本的に、あなたは、try/catchブロックでdrawImage呼び出しをラップする必要があります。

function drawVideo() { 
    try { 
    $vidCanvasCtx.drawImage($vid, 0, 0, $vidCanvas.width, $vidCanvas.height); 
    ... 
    } catch (e) { 
    if (e.name == "NS_ERROR_NOT_AVAILABLE") { 
     // Wait a bit before trying again; you may wish to change the 
     // length of this delay. 
     setTimeout(drawVideo, 100); 
    } else { 
     throw e; 
    } 
    } 
} 
+0

+1と – K3N

+0

感謝:-)受け入れて、あなたがあなた自身の答えをマークする必要があり、悲しいことに私は –

+0

は、私のために感謝を御馳走を働いできる前に数時間以上待たなければなりません。うまくいけば、彼らはすぐにバグを修正します! –

関連する問題