C# を使用してデスクトップ用の VS2012 Express で LeapMotion SDK を使用してアプリケーションを開発しています。そこで、Leap Controller オブジェクトにリスナー スレッドを追加します。そのとおり:
Controller objcontroller = new Controller();
Listener objlistener = new LeapListener();
objcontroller.AddListener(objlistener);
コントローラー オブジェクトは、オーバーライドされたメソッドOnFrame()
などのコールバックを行います。
問題は、3000 から 5500 の範囲の一定数のコールバックの後、リスナー スレッドが自動的に終了することです。出力ウィンドウには、次のテキストが表示されます。
The thread (0x1614) has exited with code 0 (0x0).
LeapMotion は、最大 100 fps のレートでフレームを報告するモーション検出デバイスです。フレームが検出されると、OnFrame()
メソッドが呼び出されます。
try catch .. を使用してみましたが、例外はスローされません - 終了コードが 0 であるためです。メモリ消費量を超えているため、コンパイラがスレッドをシャットダウンしているように感じます。
これに関するアイデアは役に立ちます。
プラットフォーム ターゲットは x86 で、.net フレームワーク ターゲットは 4.0 です。