You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.4 KiB

namespace EC.Util.CameraSDK;
public abstract class ICameraSdk
{
#region Fields
public CameraInfo CameraInfo { get; }
#endregion Fields
public ICameraSdk(CameraInfo cameraInfo)
{
CameraInfo = cameraInfo;
}
#region Base Method
/// <summary>
/// 初始化资源
/// </summary>
/// <returns></returns>
public abstract bool Init();
/// <summary>
/// 释放资源
/// </summary>
/// <returns></returns>
public abstract bool Destory();
/// <summary>
/// 连接是否成功
/// </summary>
/// <returns></returns>
public abstract bool ConnectSuccess();
/// <summary>
/// 构建异常
/// </summary>
internal abstract void BuildException();
#endregion Base Method
#region Ptz Method
/// <summary>
/// 获取 ptz
/// </summary>
/// <returns></returns>
public abstract PtzInfo GetPtzInfo();
/// <summary>
/// 获取 ptz
/// </summary>
/// <returns></returns>
public abstract bool TryGetPtzInfo(out PtzInfo ptzInfo);
public abstract bool PtzMove(int cmd, int stop, int speed);
public abstract bool PtzPreset(int cmd, int presetId);
#endregion Ptz Method
#region Video Method
public abstract void StartPlay(IntPtr hwnd);
public abstract void StopPlay();
public abstract bool IsPlaying();
#endregion Video Method
}