Mac OS X用のプログラムを作成して、私のDSLRカメラをリモートコントロールしたいと考えています。私が持っているカメラはWiFiアダプタを持っていますので、私はコントロールがWiFi上で行われることを望みます。私はObjective C/Xcodeの基本的な中間知識であるCについて十分に理解していますが、カメラへの接続やカメラとコンピュータ間の通信にはどのフレームワークを使用する必要がありますか?ありがとう!Mac OS Xアプリリモートカメラコントロールwifi
5
A
答えて
1
PTP over IP(PTP/IP)について言えば、わかっている限り、これはカメラとの間でメディアをやりとりするためにのみ使用されます(リモコン機能が可能かどうかはわかりません)。基本的にはTCP/IP接続です。 TCP接続を確立する必要があります。 NSBumは、これはNSInputStreamとNSOutputStreamを必要とすると同時に、カメラとコンピュータとの通信などのストリームイベントを処理するNSStreamDelegateとしてクラスを持つことを示唆していました。実際のプロトコルについては、これはあなたがダウンロードしたSDKによって処理されなければならない
、それはここではない場合、あなたが始めるのに役立つかもしれないいくつかのドキュメントです:gPhoto PTP/IP Documentation
そしてNSInputStreamとNSOutputStreamを表示するためにいくつかのコード:
// This would either be part of a Class init method or called at some point after
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;
CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"192.168.1.2", 1234, &readStream, &writeStream);
inputStream = (__bridge NSInputStream *)readStream;
outputStream = (__bridge NSOutputStream *)writeStream;
[inputStream setDelegate:self];
[outputStream setDelegate:self];
[inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
[inputStream open];
[outputStream open];
そして、一般的な例としてOutputStreamに書き込むために:
// data is of class NSData, the following writes the data bytes to the outputStream
[outputStream write:[data bytes] maxLength:[data length]];
あなたNSStreamDelegateも必要になりますこのメソッドの実装を提供します
- (void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent
関連する問題
- 1. mac os x
- 2. のMac OS X
- 3. Mac OS X 10.12.5
- 4. ジオジャンゴMAC OS X
- 5. は、Mac OS X
- 6. アップグレードMAC OS X
- 7. のMac OS X 10.11.4
- 8. MAC-OS Xのネットワークセキュリティ
- 9. アンインストールジャンゴは、Mac OS X
- 10. Mac OS XのNCReport
- 11. Mac OS Xルートゲートウェイリンク#5
- 12. TFS on Mac OS X
- 13. Mac OS X Lionフルスクリーンイベント
- 14. Mac OS Xにインストール
- 15. Mac OS X用UIPopoverController?
- 16. GKSession with Mac OS X
- 17. Mac OS Xのカバレッジテストツール?
- 18. フォース - のMac OS X
- 19. Mac OS Xのデータベース
- 20. SDL + emacs + Mac OS X
- 21. Mac OS X + cakephp + SqlServer
- 22. Mac OS Xのプログラムイントロ
- 23. Mac OS Xのキャプチャファンクションキー
- 24. アンインストールipython mac os x
- 25. Mac OS XでJNotify?
- 26. Qt4Dotnet on Mac OS X
- 27. FreeTDS Mac OS X MiniPortile
- 28. のMac OS X NodeJS:Macのポートを使用して、MAC OS X上
- 29. update statusbar menu on mac mac os x cocoa
- 30. Mac OS Xのウェブサイトのサブフォルダ
それはによって提供される出版された通信プロトコルがあるのかどうかに少し依存して(また、左側のサイドバー上でストリームプログラミングガイドへのリンクです)カメラメーカー...そこにはありますか?その仕様は何ですか? – FluffulousChimp
通信プロトコルでPTPを使用し、製造元のWebサイトからSDKをダウンロードしました。 SDKは私のモデル用に作られたものではありませんでしたが、私は他のモデル用のSDKを見てきました。だから私は彼らを出発点として使うことができるかどうか疑問に思っていた。ありがとう! – user1888762
容疑者には、別のデバイス間接続層もあります。おそらく 'NSInputStream'と' NSOutputStream'のペアで動作するでしょう。ネットワーク上のデバイス発見は解決する必要があります...多くの質問が残っています。 – FluffulousChimp