6

私は JMF を使用して Web カメラを操作しています。私の USB Web カメラは JMF と完全に連携します。ただし、Java コードからこの呼び出しを行うと、JMStudio で使用しました。

deviceListVector = CaptureDeviceManager.getDeviceList( null );

「オーディオ キャプチャ デバイス」は検出されますが、vfw://0 にある USB Web カメラは検出されません。明確にするために、オーディオ キャプチャ デバイスと USB カメラは完全に別のデバイスです。JMF から USB Web カメラとそのフォーマットを正しく検出するにはどうすればよいですか?

前もって感謝します

4

2 に答える 2

1

また、 LTI-CivilまたはXugglerを試すこともできます。

于 2009-12-11T22:37:05.147 に答える
0

ウェブカメラのみを検出するgetDeviceList(Format)には、(null の代わりに) メソッドに引数を渡す必要があります。

Vector<Object> devices = CaptureDeviceManager.getDeviceList(new Format("RGB"));
Iterator<Object> di = devices.iterator();
while (di.hasNext()) {
    CaptureDeviceInfo info = (CaptureDeviceInfo) di.next();
    System.out.println(info);
}

これにより、すべての Web カメラ (内蔵および USB に接続されているもの) が印刷されます。私はこのコードをテストしましたが、うまくいきました。

これが役に立たない場合 (JMF は非常に古く、コードの一部が古くなっている可能性があるため)、私のWebcam Captureプロジェクトの一部を使用してみてください。ほとんどのプラットフォーム (Windows x86 および x64、Linux x86 および x64、Mac OS など) で正しく動作します。試してみる場合は、次のように記述してすべての Web カメラ デバイスを一覧表示する必要があります。

List<Webcam> webcams = Webcam.getDevices();

JMF 上でも動作することに注意してください。デフォルトの組み込みドライバーを JMF ドライバーに置き換えるには、JMF ドライバーJAR をクラスパスに追加し、Web カメラを一覧表示する前にこれを呼び出す必要があります。

Webcam.setDriver(new JmfDriver());

この助けを願っています。

于 2012-11-14T20:44:05.887 に答える