3

私は JavaScript を使用してメトロ アプリを開発しており、ウェブカメラから 2 つのビデオを同時に表示しようとしています (最終的には、そのうちの 1 つにフィルターが適用されます)。しかし、ソースとしてウェブカメラを使用するように両方を設定しようとすると、エラーが発生します.,,, この状況を処理する良い方法はありますか?

ありがとう!

編集:ここにいくつかのコードがあります:

(ジャバスクリプト)

var mediaCaptureMgr = new Windows.Media.Capture.MediaCapture();
var captureInitSettings = new Windows.Media.Capture.MediaCaptureInitializationSettings();
//...set properties of captureInitSettings...


mediaCaptureMgr.initializeAsync(captureInitSettings).then(function (result) {
            var video1 = id("Video1"); //function to get html element with id
            video1.src = URL.createObjectURL(mediaCaptureMgr, false); //does not matter if false is switched to true
            var video2 = id("Video2");
            video2.src = video1.src;//could also use var x = URL.create... then set video1.src/video2.src = x; still won't work.
        },
    errorHandler);

(HTML)

<video id="Video1" autoplay></video>
<video id="Video2" autoplay></video>

Click イベントまたは Load イベントを介して JS を起動できます。問題ではありません。Video1 のみが Web カメラ ビデオを取得します。ビデオ 2 は機能しません。考え?

ありがとう!

4

1 に答える 1

1

最近、Chrome で同様の方法で getUserMedia を少し遊んでいますが、Metro のキャンバスが 2 番目のビデオ再生に受け入れられるかどうか疑問に思っています.とにかくフィルタリングを行うことを計画しているので、これに行く必要があるようです.ルート問わず?

そうは言っても、Metro JavaScript環境については何も知りませんが、あなたの例を見て、サポートされているブラウザでそれを行う方法を知っています:

var video1 = id("Video1");
var canvas = id('canvas');

var context = canvas.getContext('2d');

context.drawImage(video1, 0, 0);

もちろん、これは、ビデオのフレームごとにその画像を描画している場合にのみ機能しますwindow.requestAnimationFrame

于 2012-05-23T18:42:17.927 に答える