次の問題があります: PC に 2 台の EOS550D カメラが接続されています。私のプログラムには、カメラにコマンドを送信する QThread ベースのクラスがあります。2 台のカメラの区別に問題はなく、両方を制御できますが、コマンドは並行して送信されますが、2 台目のカメラは、最初のカメラが焦点を合わせて撮影を行った後にのみ機能します。SDK の制限ですか、それとも何か間違っていますか? このタスクは 2 台の PC とクライアント/サーバー アーキテクチャを使用して実行できることは知っていましたが、1 台の PC で試してみたいと思います)
EDSDK とカメラはコントロール クラスで初期化され、カメラのセッションはスレッド クラス オブジェクトで管理されます。スレッドの呼び出し:
void CameraController::testShot()
{
//some variable checks and path set-ups
leftCameraThread->setPath(path1);
leftCameraThread->start();
rightCameraThread->setPath(path2);
rightCameraThread->start();
}
スレッド run() 関数:
void CameraControlThread::run()
{
EdsSendCommand(_camera, kEdsCameraCommand_TakePicture , 0);
}
EDSDK v2.10