在自动执行期间拍照时调用哪种方法?

问题描述 投票:0回答:2

我想知道什么时候触发器在自动任务中被触发。具有内部存储的产品很简单,例如,以下方法为每张拍摄的新照片更新图像计数标签

func camera(_ camera: DJICamera, didGenerateNewMediaFile newMedia: DJIMediaFile) {
 self.picsTaken += 1
 self.picsTakenLabel.text = "Pics taken: \(picsTaken)"
}

当然,这对于具有RoninMX和远程S / S触发器的M600等设备不起作用,因为没有内部存储的信息。

我也尝试过以下方法:

func camera(_ camera: DJICamera, didUpdate systemState: DJICameraSystemState) {
    if systemState.isShootingSinglePhoto {
...
    }
}

但是这种方法甚至没有在我们的M600上调用。

有人知道当自动任务触发触发器时是否有一个方法或参数被调用或更改?

谢谢

swift dji-sdk
2个回答
0
投票

你试过观察camera status吗?

您必须注册摄像机代表,然后在didUpdate方法中检查isShootingSinglePhoto属性的值。

像这样的东西

class ViewController: DJICameraDelegate....

override func viewWillAppear(_ animated: Bool) {
    ...
    self.camera📦!.delegate = self
    ...
}

func camera(_ camera: DJICamera, didUpdate systemState: DJICameraSystemState) {
    if systemState.isShootingSinglePhoto {
        doSomething()
    }
}

0
投票

也许它会帮助你。

DJIWaypoint wp = new DJIWaypoint(latitude, longitude, altitude);

DJIWaypoint.DJIWaypointAction takePictureAction = new DJIWaypoint.DJIWaypointAction(DJIWaypoint.DJIWaypointActionType.StartTakePhoto, 0);

wp.addAction(takePictureAction);
© www.soinside.com 2019 - 2024. All rights reserved.