Autor Beitrag
Cruentus
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Di 31.08.10 17:53 
Hallo allerseits!

Ich habe eine Logitech C200-Webcam gekauft (hab diese auch schon getestet) und würde gerne in Delphi damit arbeiten. Deshalb hab ich im Netz folgenden Quelltext gefunden und benutzt, mit dem man das Videosignal in Delphi anzeigen kann: www.delphipraxis.net/372951-post.html

So, nun habe ich folgendes Problem. Wenn ich den Quelltext in Delphi ausführe, erscheint zwar das Formular, aber das Panel (auf dem das Webcambild erscheinen sollte) bleibt schwarz. Compeliere ich den Quelltext aber und führe die entstandene exe-Datei aus, kommt ein Dialogfeld, in dem ich die Videoquelle auswählen soll. An erster Stelle steht "713x DBA Analog Capture" und an zweiter Stelle "Logitech Webcam 200". Wenn ich dann die Webcam auswähle, funktioniert auch alles wunderbar; das Panel zeigt mir das Bild der Webcam an, so soll es auch sein. Nun will ich aber nicht immer erst den Quelltext compilieren und die Videoquelle auswählen müssen, da das Projekt umfangreicher werden soll und dieses Vorgehen dann schlicht stört.

So, hat jemand vielleicht eine Idee, wie ich das Problem lösen kann? Kann ich womöglich bereits im Quelltext reinschreiben, welche Videoquelle benutzt werden soll, damit es auch funktioniert, wenn ich es aus Delphi heraus ausführe?

Ich danke euch schon mal für Tipps, Tricks und natürlich auch für mögliche Lösungen

Cruentus
HelgeLange
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 735
Erhaltene Danke: 6

Windows 7
Delphi7 - Delphi XE
BeitragVerfasst: Mi 01.09.10 00:10 
Du könntest Dir die Namen holen (mit capGetDriverDescriptionA) und dann auf ein device direkt verbinden (in der Message WM_CAP_DRIVER_CONNECT als 2. Parameter)

_________________
"Ich bin bekannt für meine Ironie. Aber auf den Gedanken, im Hafen von New York eine Freiheitsstatue zu errichten, wäre selbst ich nicht gekommen." - George Bernhard Shaw
Cruentus Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mi 01.09.10 10:23 
Ah danke erstmal für die Antwort. Erst mal muss ich aber zugeben, dass ich den ursprünglichen Quelltext nicht sooo hundertprozentig verstanden hab und mehr kopiert als nachvollzogen habe. Deshalb weiß ich jetzt auch nicht so recht, wie und wo genau ich dieses capGetDriverDescriptionA einbinden muss, um es dann im WM_CAP_DRIVER_CONNECT benutzen zu können.


Um eventuellen Missverständnissen aber vorzubeugen, möchte ich noch ergänzen: Ich bin mir durchaus bewusst, dass es der falsche Weg ist, Quellcode einfach zu kopieren ohne ihn verstanden zu haben. Ist bei mir eben nur diese Einbindung der Webcam, den Rest meines Projektes hab ich schon fast fertig im Kopf. Bin eben nur auf diese funktionierende Videoeinbindung angewiesen (Gibt es vielleicht eine gute, empfehlenswerte Seite, wo man die Kommunikation mit Windows und so nachlesen kann?).

Danke schon mal
Cruentus Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Sa 11.09.10 10:17 
Weiß denn niemand, wie ich dieses capgetdriverdescriptionA mit dem WM_CAP_DRIVER_CONNECT verbinden muss?
axellang
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 44



BeitragVerfasst: So 12.09.10 14:37 
user profile iconCruentus hat folgendes geschrieben Zum zitierten Posting springen:
Weiß denn niemand, wie ich dieses capgetdriverdescriptionA mit dem WM_CAP_DRIVER_CONNECT verbinden muss?


Hi,

bei der CodeRageII (schon lange her) hat Dr.Bob eine Demo "Webcam fun with Delphi" veröffentlicht bzw. einen Screencast im Netz gehabt. Leider ist der Screencast nicht mehr verfügbar jedoch kannst Du dir unter: www.bobswart.nl/CodeRageII/source.zip noch den Sourcecode herunterladen.

Soweit ich mich erinnere, ist in dem Cast die Vorgehensweise genau beschrieben worden. Auch wurde eine Art Bewegungsmelder gleich mit implementiert.

Axel
Cruentus Threadstarter
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 13.09.10 10:10 
Hey, danke schon mal. Werde mir den Quelltext mal näher zu Gemüte führen und schauen, ob er mein Dilemma zu lösen vermag^^