我正在尝试使用佳能Mark II 5D的Mac应用程序。
基本上我希望能够点击按钮拍摄照片,检索照片并显示照片。我正在做的事情还有很多,但这是我遇到麻烦的部分。
无论如何,我使用ICDeviceBrowser
来查找设备,我能够找到它。我使用以下delgate方法将其设置为我的decive。
- (void)deviceBrowser:(ICDeviceBrowser*)browser didAddDevice:(ICDevice*)addedDevice moreComing:(BOOL)moreComing {
ICCameraDevice *thisCamera = (ICCameraDevice*)addedDevice;
thisCamera.delegate = self;
self.camera = thisCamera;
[self.camera requestOpenSession];
}
然后关闭相机,我想我会这样做......但是什么也没发生。
[self.camera requestTakePicture];
有没有人玩过这个,或者可能知道发生了什么?
答案 0 :(得分:1)
您可以查看ICCameraDevice通过
拍摄照片的想法self.camera.canTakePictures
和
BOOL canYou = [self.capabilities containsObject:ICCameraDeviceCanTakePicture]
答案 1 :(得分:1)
希望这不是太晚,对你有用。按钮方法工作的原因是,当您按下它时设备已准备就绪。如果您想自动捕获,则需要倾听deviceDidBecomeReady
和didOpenSessionWithError
代表的意见。
device:(ICDevice *)device didOpenSessionWithError:(NSError *)error
可让您启用网络共享,deviceDidBecomeReady
可让您执行相机功能。苹果公司根本没有记录这一点,这很糟糕!
- (void) deviceDidBecomeReady:(ICDevice *)device {
[_camera requestTakePicture];
}
- (void) device:(ICDevice *)device didOpenSessionWithError:(NSError *)error {
[_camera requestEnableTethering];
}
答案 2 :(得分:0)
实际上只是发现这个有用,但是,需要使用按钮触发requestTakePicture。我只是在打开会议后试图解雇它。