public void stop()
{
if (cam != null)
{
// Dispose camera to minimize power consumption and to expedite shutdown.
cam.Dispose();
// Release memory, ensure garbage collection.
cam.Initialized -= camInitialized;
cam.CaptureCompleted -= camCaptureCompleted;
cam.CaptureImageAvailable -= camCaptureImageAvailable;
cam.CaptureThumbnailAvailable -= camCaptureThumbnailAvailable;
_isRunning = false;
}
}