2017-10-26 34 views
1

私はAforge(directShow)を使用してUSBデバイスからイメージを取得しようとしています。デバイス(USB3HDCAP)には3種類の入力(HDMI、DVI、S-ビデオ)があります。上記のコードを使用して、私はアクセスして、デフォルトの入力イメージを取得できます(HDMIからのみ)。しかし、デバイスの物理的な入力を変更すると(HDMIからDIVに例)、画像は黒です。他の入力(DVIまたはSビデオ)からビデオを取得するにはどうすればよいですか。DirectShowを使用してusbデバイスから別のソースを選択

LocalWebCamsCollection = new FilterInfoCollection(FilterCategory.VideoInputDevice); 
    LocalWebCam = new VideoCaptureDevice(LocalWebCamsCollection[0].MonikerString); 
    LocalWebCam.NewFrame += new NewFrameEventHandler(Cam_NewFrame); 
    LocalWebCam.Start(); 

答えて

1

あなたのコードスニペットは、単にビデオをキャプチャするものです。ビデオキャプチャハードウェアの入力を切り替えるには、クロスバーを使用してデバイスを再設定する必要があります。平野DirectShowの

それは彼のようなものです:あなたは、例えば、同様の方法のために調べるべきであるAForge.NETで

参照:

... VideoCaptureDivece.AvailableCrossbarVideoInputsは、利用可能なビデオ入力の配列を与えます。 VideoCaptureDivece.CrossbarVideoInputは何を受け入れますか? - はいビデオ入力。したがって、これらの2つを組み合わせて:

VideoKaynagi.CrossbarVideoInput = CrossbarVideoInput.AvailableCrossbarVideoInputs[0]; 

もちろん、Sビデオ入力のインデックスで0を変更する必要があります。

+0

もう1つ、私はすでに試してみましたが、私は結果を得られません - AvailableCrossbarVideoInputs - 配列が空でしたので、最初のもの(DirectShow)を試します。 –

関連する問題