Rilevare dispositivo WebCam utilizzando con Java
Domanda
Sto usando JMF per operare la mia web cam.My usb webcam funziona perfettamente con JMF, L'ho usato in JMStudio però, quando faccio questa chiamata dal mio codice Java
deviceListVector = CaptureDeviceManager.getDeviceList( null );
il mio "dispositivo di acquisizione audio" viene rilevato tuttavia, la mia webcam USB vfw: // 0 non viene rilevato. Per chiarire, il dispositivo di acquisizione audio e la cam USB sono dispositivi completamente separati. Come posso riconoscere correttamente la webcam usb e suoi formati, da JMF?
Grazie in anticipo
Altri suggerimenti
Per rilevare solo Webcam si dovrebbe passare argomento al metodo getDeviceList(Format)
(invece che 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);
}
Questo dovrebbe stampare tutte le webcam - costruire e quelli connessi alla porta USB. Ho provato questo codice e funziona per me.
Se questo non aiuterà (dal JMF è mooolto vecchio e alcune parti del codice può essere obsoleto), si può provare a utilizzare parte del mio Capture webcam del progetto. Si sta lavorando correttamente con la maggior parte delle piattaforme di Windows - x86 e x64, x86 e x64 Linux, Mac OS, ecc Se si decide di provarlo, si dovrà scrivere qualcosa del genere per elencare tutti i dispositivi webcam:
List<Webcam> webcams = Webcam.getDevices();
Si prega di notare che si può anche lavorare sulla parte superiore del JMF - per sostituire il driver di default build-in per JMF uno, si dovrà aggiungere JMF conducente JAR nel classpath e chiamare questa prima messa in webcam:
Webcam.setDriver(new JmfDriver());
Spero che questo aiuto.