2012-01-21 14 views
0

Canon Mark II 5Dで動作するMacアプリケーションを入手しようとしています。ICCameraDeviceを使って写真を撮るには?

基本的には、ボタンをクリックして写真をスナップして、写真を取得して表示できるようにしたいと考えています。私はもっ​​とたくさんのことをしていますが、これは私が問題を抱えている部分です。

とにかく、デバイスを見つけるのに私はICDeviceBrowserを使用していますが、それを見つけることができます。私はそれを次のような方法を使って自分のデリケートに設定しました。

- (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]; 

これまでプレイしたことはありますか、何が起こっているのか知っている人はいますか?

答えて

1

あなたはカメラ接続モードhereについても参照

self.camera.canTakePictures 

BOOL canYou = [self.capabilities containsObject:ICCameraDeviceCanTakePicture] 

経由で写真を撮ることを考えるICCameraDevice内容を確認することができます。 hereカメラからのダウンロードプロセスの実装。

+0

ITは間違いなくそれを持っています。機能の一部は次のとおりです:ICCameraDeviceCanTakePicture –

+0

私はどのようなアプリケーションを行うべきではありませんが、[QTKit Capture](http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/QTKitApplicationProgrammingGuide /UsingQTKit/UsingQTKit.html#//apple_ref/doc/uid/TP40008156-CH108-SW9)?いくつかの機能[ここ](http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/QTKitApplicationTutorial/BuildingaSimpleQTKitCaptureApplication/BuildingaSimpleQTKitCaptureApplication.html#//apple_ref/doc/uid/TP40008155-CH8-SW1) and [here](http://developer.apple.com/library/mac/#samplecode/MYRecorder/Introduction/Intro.html)を参照してください。 – dive

0

実際には、これはうまくいきましたが、requestTakePictureはボタンで起動する必要があります。私は、セッションを開いた後にそれを発射しようとしていました。

1

これはあまりにも遅くないとあなたに役立ちます。ボタンメソッドが機能するのは、そのボタンを押すまでにデバイスが準備ができているからです。キャプチャを自動化する場合は、deviceDidBecomeReadydidOpenSessionWithErrorの代理人を聴く必要があります。

device:(ICDevice *)device didOpenSessionWithError:(NSError *)errorはテザリングを有効にし、deviceDidBecomeReadyはカメラ機能を実行できるようにします。それはAppleがこれを全く文書化していないことを吸う!

- (void) deviceDidBecomeReady:(ICDevice *)device { 
    [_camera requestTakePicture]; 
} 

- (void) device:(ICDevice *)device didOpenSessionWithError:(NSError *)error { 
    [_camera requestEnableTethering]; 
} 
関連する問題