public void StopRunning() { if (activeCamera == null) { return; } if (attachment != null) { attachment.@delegate = default; WebCamMatSourceAttachment.Destroy(attachment.gameObject); attachment = default; } activeCamera.Stop(); }
public Task StartRunning(Action startCallback, Action frameCallback) { var startTask = new TaskCompletionSource <bool>(); if (activeCamera == null || (activeCamera != null && activeCamera.isPlaying)) { return(startTask.Task); } this.startCallback = startCallback; this.frameCallback = frameCallback; firstFrame = true; activeCamera.Play(); attachment = new GameObject("NatDeviceWithOpenCVForUnityExample WebCamMatSource Helper").AddComponent <WebCamMatSourceAttachment>(); attachment.@delegate = () => { OnFrame(); }; startTask.SetResult(true); return(startTask.Task); }