add: 添加自动对焦逻辑(还没写完)
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user