isight光センサーの使用に関するパブリックな文書はありませんが、ShadowBook (shown here)などのプログラムは輝度データにアクセスできます。同様の結果とこのセンサーにアクセスする方法を知っていますか?ありがとう!iSightアンビエントセンサー
6
A
答えて
7
IOServiceを使用して光センサにアクセスするには、IOKitライブラリを使用します。光センサーの名前は "AppleLMUController"です。ここには良い例があります:light sensor。簡単に言えば 、このようなサービスを得る:使用してサービスに接続し、その後io_service_t service = IOServiceGetMatchingService(kIOMasterPortDefault, IOServiceMatching("AppleLMUController"));
を:
io_connect_t port = 0;
IOServiceOpen(service, mach_task_self(), 0, &port);
は、使用して光のレベルを取得します:left
とright
は今センサの光レベルを保持する整数ですIOConnectMethodScalarIScalarO(port, 0, 0, 2, &left, &right);
。 メソッドが失敗しない限り、多くのIOServiceメソッドはkern_return_t
変数を返します。これはKERN_SUCCESS
を保持します。 IOObjectRelease(service);
EDIT:IOConnectMethodScalarIScalarO()
は、推奨されなくなりました。 は代わりに、使用:
uint32_t outputs = 2;
uint64_t values[outputs];
IOConnectCallMethod(port, 0, nil, 0, nil, 0, values , &outputs, nil, 0);
左右の値は、それぞれvalues[0]
とvalues[1]
に格納されます。すべてのMacBookがこのように動作するわけではないことに注意してください。私の2010年半ばの15インチプロでは、光センサーがiSightカメラに搭載されているので、両方の値が同じです。
関連する問題
- 1. iSightからのビデオのcidetector
- 2. プログラムによるiSightへのアクセス?
- 3. iSight Swift AWSコグニートとFacebook認証
- 4. OSXでJava経由でiSightにアクセスする
- 5. PythonとPyObjCを使用してApple iSightからフレームをキャプチャする方法は?
- 6. OSX Lion - iSightカメラ端末の使用により、スリープからの復帰がトリガーされますか?
- 7. SwiftでMac OsのAVCaptureDeviceライブストリームビデオを表示
- 8. シェルでヘッダを繰り返さずにzip形式のcsvファイルを連結する方法
- 9. OpenCV + macam.component + PS3Eyeが動作しない
- 10. iPhoneのIOKitフレームワークについて
- 11. クラスasメンバーの構造体を含む
- 12. Ubuntu OSでUUIDを生成する
- 13. スーパーユーザアクセスを使用してファイルをコピーしています
- 14. nibファイルからオブジェクトを取得する
- 15. 新しいgstelementオブジェクトを作成するtee
- 16. ウェブカメラカメラのデバイスを確認するgnome library
- 17. Quartz ComposerでVNCソースを使用するには?
- 18. チュートリアルでは、私が写真やビデオのWebカムから</p> <p>をキャプチャするアプリケーションを作成するためのGStreamerを使用する必要があることを知っているウェブカム
- 19. gtkのAffineTransform
- 20. OptionArgの目的
- 21. MacBookのウェブカメラにアクセスするにはどうすればよいですか?
- 22. 10.7でアプリケーションビルド用に10.5でコンテキストメニューが表示されない
- 23. ドラッグ&ドロップ時のテーブルビューセルの描画
- 24. Mac OS X LionでAVCaptureSessionを使用してBodelin ProScope HRからフレームをキャプチャするにはどうすればよいですか?
- 25. ビデオ出力をxvimagesinkとして設定
- 26. Opencv、open kinect、kinect v2で処理中の顔検出
- 27. Cocoaビデオの最後に画像を追加
- 28. "OCHIルートハブシミュレーション" USBデバイスとは何ですか?
- 29. 処理 - 処理スケッチでビデオを録画して表示する
- 30. 黒い画面
これらの値のログを返すにはどうすればよいですか? 'NSLog(@"正しい%f "、値);'?どのように左/右をフォーマットするのですか? –
もう少し簡単な質問ですが、アプリケーションの起動時に一度呼び出されたようですが、どうすれば継続的に呼び出すことができますか?タイマーを使用してメソッドを呼び出そうとしましたが、値を更新しませんでした –
NSLog(@ "Left:%i、Right:%i"、(int)values [0]、(int)values [1] ); 'で十分だろう。私は 'values'を配列として使うと、更新していない数字に問題が解決すると思います。そうでない場合は、私が作った簡単な例をお送りします。 – wquist