Ich habe meine Anwendung, die Steuerung der Kamera mit C# und ziemlich leichten EDSDKWrapper (die ich ein bisschen geändert habe). Ich kann im Grunde alles schon steuern, wie LiveView, Fokussieren (Auto + Manuell), Einstellen und Auslesen verschiedener Eigenschaften und Aufnehmen von Bildern, wahlweise mit automatisiertem Focus Bracket/Stacking.Canon EDSDK: Das Aufnehmen von Fotos in LiveView bricht das LV für immer
Allerdings gibt es ein Problem: Wenn ich die Live View starten und dann nehmen Sie ein Foto, um die Standardmethode unter Verwendung von
SendCommand(Camera.Handle, PressShutterButton, ShutterButton_Completely_NonAF);
SendCommand(Camera.Handle, PressShutterButton, ShutterButton_OFF);
es funktioniert, ich die Bilder herunterladen oder den Download abbrechen mit Download
+ DownloadComplete
oder DownloadCancel
Funktionen. Leider ist es danach nicht mehr möglich, das LiveView-Bild zu erhalten, das DownloadEvfImage
gibt OBJECT_NOT_READY
zurück und lässt es für immer zurückkehren.
Der einzige Ausweg besteht darin, den LiveView erneut zu stoppen und zu starten ODER den LiveView-Autofokus mit dem Befehl DoEvfAF
zu starten. Aber ich möchte das vermeiden.
Dies geschieht sowohl auf Canon 5D Mark IV und 5D Mark III und das gleiche Problem passiert auch auf einem völlig anderen C# Framework mit einem anderen Beispiel, das ich gerade aus dem Internet heruntergeladen. Das EOS-Dienstprogramm scheint jedoch gut zu funktionieren, so scheint es, dass es einen Weg gibt.
Funktioniert die "LiveView + Foto + LiveView wieder" sogar in Ihrer App, ob C# oder C++? Gibt es einen Trick, den ich ausführen muss?
Ich habe schon viel Zeit damit verbracht, einen Fehler zu finden, wie zum Beispiel nicht freigegebene Daten und die Suche nach Antworten im Web, aber bisher kein Glück.