using System; using System.Runtime.InteropServices; using TUCAMAPI; namespace TUCamera { public class TUCameraDrawBuffer : TUCameraIFrameProcess { private TUCamera m_camera; private FrameProcesserState m_state = FrameProcesserState.STOP; private object lockObj = new object(); /// /// 预览 /// /// 相机 public TUCameraDrawBuffer(TUCamera camera) { m_camera = camera; } public void DoProcess(ref TUCAM_FRAME frame) { if (m_state != FrameProcesserState.PLAY) { return; } //Console.WriteLine("返回buf"); m_camera.CallbackDraw(frame, lockObj); //Console.WriteLine("返回buf结束"); } public void Stop() { Console.WriteLine("预览------结束"); m_state = FrameProcesserState.STOP; } public void Start() { Console.WriteLine("预览------开始"); m_state = FrameProcesserState.PLAY; } public void Pause() { m_state = FrameProcesserState.PAUSE; } public void Resume() { m_state = FrameProcesserState.PLAY; } public FrameProcesserState GetStatus() { return m_state; } } }