私のアプリケーションはC#とかなり軽量のEDSDKWraper(これは少し修正済みです)を使ってカメラを制御しています。私はすでにLiveViewのようなすべてのものを基本的に制御することができます(自動+手動)、さまざまなプロパティの設定と読み取り、写真の撮影、オプションで自動フォーカスブラケット/スタッキング。Canon EDSDK:LiveViewで写真を撮ると永遠にLVが壊れる
しかし、問題がある:私はライブビューを開始し、標準的な方法
SendCommand(Camera.Handle, PressShutterButton, ShutterButton_Completely_NonAF);
SendCommand(Camera.Handle, PressShutterButton, ShutterButton_OFF);
を使用して写真を撮るとき、それは動作しますが、私はDownload
+ DownloadComplete
またはDownloadCancel
を使用してダウンロードする画像をダウンロードしたり、取り消すことができます機能。残念ながら、それ以降はLiveViewイメージを取得することはできません。DownloadEvfImage
はOBJECT_NOT_READY
を返し、永遠に戻します。
唯一の方法は、LiveViewをもう一度停止して開始するか、DoEvfAF
コマンドを使用してLiveViewのオートフォーカスを開始することです。しかし、私はそれを避けたいと思います。
これはCanon 5D Mark IVと5D Mark IIIの両方で発生します。まったく異なるC#フレームワークでも同じ問題がWebからダウンロードしたばかりの別の例でも発生します。しかし、EOSユーティリティはうまく動作しているようですので、何らかの方法があるようです。
C#またはC++のいずれの場合でも、「LiveView +撮影+ LiveViewを再度」もアプリで動作しますか?私は実行する必要があるいくつかのトリックはありますか?
私は既にデータを公開しておらず、ウェブ上で回答を探しているなどバグを指摘しようと多くの時間を費やしていますが、これまでのところ運がありません。