add: 添加自动对焦逻辑(还没写完)

This commit is contained in:
alivender
2025-07-14 10:48:13 +08:00
parent 1273be7dee
commit 9b580be5e9
3 changed files with 762 additions and 202 deletions

View File

@@ -1030,4 +1030,98 @@ public class HttpVideoStreamService : BackgroundService
(1280, 720, "1280x720 (HD)")
};
}
#region
/// <summary>
/// 检查摄像头是否已配置
/// </summary>
/// <returns>是否已配置</returns>
public bool IsCameraConfigured()
{
lock (_cameraLock)
{
return _camera != null && !string.IsNullOrEmpty(_cameraAddress);
}
}
/// <summary>
/// 初始化摄像头自动对焦功能
/// </summary>
/// <returns>初始化结果</returns>
public async Task<bool> InitAutoFocusAsync()
{
try
{
lock (_cameraLock)
{
if (_camera == null)
{
logger.Error("摄像头未配置,无法初始化自动对焦");
return false;
}
}
logger.Info("开始初始化摄像头自动对焦功能");
var result = await _camera!.InitAutoFocus();
if (result.IsSuccessful && result.Value)
{
logger.Info("摄像头自动对焦功能初始化成功");
return true;
}
else
{
logger.Error($"摄像头自动对焦功能初始化失败: {result.Error?.Message ?? ""}");
return false;
}
}
catch (Exception ex)
{
logger.Error(ex, "初始化摄像头自动对焦功能时发生异常");
return false;
}
}
/// <summary>
/// 执行摄像头自动对焦
/// </summary>
/// <returns>对焦结果</returns>
public async Task<bool> PerformAutoFocusAsync()
{
try
{
lock (_cameraLock)
{
if (_camera == null)
{
logger.Error("摄像头未配置,无法执行自动对焦");
return false;
}
}
logger.Info("开始执行摄像头自动对焦");
var result = await _camera!.PerformAutoFocus();
if (result.IsSuccessful && result.Value)
{
logger.Info("摄像头自动对焦执行成功");
return true;
}
else
{
logger.Error($"摄像头自动对焦执行失败: {result.Error?.Message ?? ""}");
return false;
}
}
catch (Exception ex)
{
logger.Error(ex, "执行摄像头自动对焦时发生异常");
return false;
}
}
#endregion
}