私はKinectを使用していますが、たいていはプログラムの途中でシャットダウンし、あらゆる種類のエラーを引き起こします。この問題は修正されていないため、Kinectがこれを行うたびに一時停止するようにプログラムを設定したいと考えています。カメラの再接続を待つC#
public ManikinTrackingManager()
{
KinectSensor.GetDefault().IsAvailableChanged += MainWindow_IsAvailableChanged;
}
private bool kinnected = true;
private void MainWindow_IsAvailableChanged(object sender, IsAvailableChangedEventArgs e)
{
if (e.IsAvailable == true)
{
SpeechSynthManager.SpeakAsync("Kinect has been found!");
kinnected = true;
}
else
{
SpeechSynthManager.SpeakAsync("Your Kinect has been disconnected!");
SpeechSynthManager.SpeakAsync("Please wait while I try to fix this problem!");
kinnected = false;
waitForReconnect();
}
SpeechSynthManager.SpeakAsync("CHANGED " + e.IsAvailable.ToString());
}
これは私が切断する必要があるものです。私は
void waitForReconnect()
{
while (kinnected == false)
{
Thread.sleep(500);
}
}
を言って、カメラが再接続されるまで待機するループ上のタイマーを使用しようとする場合は、しかし、その代わりにKinectが再接続されるまで一時停止のため、このコードは、ちょうど私のコンピュータ全体をフリーズします。もう何を試してみるべきですか?
「IsAvailable」をtrueに再接続して再接続しないでください。 – stuartd
再接続がIsAvailableChanged @stuartdトリガー – Flotolk
@Flotolkをトリガーするかどうかわかりません、 'SpeakAsync'は' Task'を返しますか? – Nkosi