1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 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();
- /// <summary>
- /// 预览
- /// </summary>
- /// <param name="camera">相机</param>
- 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;
- }
- }
- }
|