增加大华设备对云台移动、缩放、聚集、光圈、校时、重启的支持
增加海康、大华对预置点的支持
This commit is contained in:
14
SHH.CameraSdk/Abstractions/IDahuaContext.cs
Normal file
14
SHH.CameraSdk/Abstractions/IDahuaContext.cs
Normal file
@@ -0,0 +1,14 @@
|
||||
namespace SHH.CameraSdk;
|
||||
|
||||
/// <summary>
|
||||
/// 海康驱动上下文
|
||||
/// 作用:允许功能组件(如校时、云台)访问主驱动的核心数据,而无需公开给外部
|
||||
/// </summary>
|
||||
public interface IDahuaContext
|
||||
{
|
||||
/// <summary> 获取 SDK 登录句柄 (lUserId) </summary>
|
||||
IntPtr GetUserId();
|
||||
|
||||
/// <summary> 获取设备 IP (用于日志) </summary>
|
||||
string GetDeviceIp();
|
||||
}
|
||||
@@ -20,21 +20,38 @@ public interface ITimeSyncFeature
|
||||
/// </summary>
|
||||
public interface IRebootFeature
|
||||
{
|
||||
/// <summary>
|
||||
/// 发送重启指令
|
||||
/// </summary>
|
||||
/// <returns>任务完成表示指令发送成功</returns>
|
||||
/// <summary>发送重启指令</summary>
|
||||
Task RebootAsync();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 能力接口:云台控制
|
||||
/// </summary>
|
||||
/// <summary>能力接口:云台控制</summary>
|
||||
public interface IPtzFeature
|
||||
{
|
||||
// 原有的手动控制 (按下/松开)
|
||||
/// <summary>原有的手动控制 (按下/松开)</summary>
|
||||
Task PtzControlAsync(PtzAction action, bool stop, int speed = 4);
|
||||
|
||||
// [新增] 点动控制 (自动复位)
|
||||
/// <summary>点动控制 (自动复位)</summary>
|
||||
Task PtzStepAsync(PtzAction action, int durationMs, int speed = 4);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// [功能接口] 预置点管理服务
|
||||
/// <para>核心职责:抽象各品牌 SDK 的预置点操作,包括跳转、保存与删除</para>
|
||||
/// </summary>
|
||||
public interface IPresetFeature
|
||||
{
|
||||
/// <summary>跳转到指定预置点</summary>
|
||||
/// <param name="presetIndex">预置点编号 (通常范围 1-255)</param>
|
||||
/// <returns>异步任务</returns>
|
||||
Task GotoPresetAsync(int presetIndex);
|
||||
|
||||
/// <summary>将当前位置保存为预置点</summary>
|
||||
/// <param name="presetIndex">预置点编号 (若已存在则通常会覆盖)</param>
|
||||
/// <returns>异步任务</returns>
|
||||
Task SetPresetAsync(int presetIndex);
|
||||
|
||||
/// <summary>删除指定的预置点</summary>
|
||||
/// <param name="presetIndex">预置点编号</param>
|
||||
/// <returns>异步任务</returns>
|
||||
Task RemovePresetAsync(int presetIndex);
|
||||
}
|
||||
Reference in New Issue
Block a user