diff --git a/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj b/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj index 570a7ef0b3b..43d68b1dc78 100644 --- a/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj +++ b/src/BootstrapBlazor.Server/BootstrapBlazor.Server.csproj @@ -42,7 +42,7 @@ - + diff --git a/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor b/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor index 46867bda6e6..f7f6b16bc9a 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor +++ b/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor @@ -13,12 +13,17 @@
-

注意事项:

+

注意事项:

  • HikVisionWebPlugin 组件依赖海康威视 Web 插件包,仅支持 windows 平台
  • 由于核心功能均由海康威视 Web 插件提供所有浏览器控制台中会有部分提示或者报错信息均属于正常现象
  • 由海康威视 Web 插件绘制的预览窗口并不是 html dom 元素,所以出现被截断遮挡其他窗口,多屏显示不正确时请刷新浏览器即可
+

录像功能说明:

+
    +
  • 必须登录并且开始预览后才可以开启录像功能
  • +
  • 开始录像后,文件默认存储在插件安装路径文件夹内(C:\Users\[UserName]\HCWebSDKPlugins\RecordFiles)
  • +
抓图 + + } diff --git a/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor.cs b/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor.cs index 9fce6c8ddbe..d58472c550c 100644 --- a/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor.cs +++ b/src/BootstrapBlazor.Server/Components/Samples/HikVisions.razor.cs @@ -32,6 +32,8 @@ public partial class HikVisions private bool _stopRealPlayStatus = true; private bool _openSoundStatus = true; private bool _closeSoundStatus = true; + private bool _startRecordStatus = true; + private bool _stopRecordStatus = true; private List _analogChannels = []; private int _channelId = 1; @@ -114,6 +116,36 @@ private async Task OnCapture() await _hikVision.CapturePictureAndDownload(); } + private async Task OnStartRecord() + { + var result = await _hikVision.StartRecord(); + if (result) + { + _startRecordStatus = true; + _stopRecordStatus = false; + await ToastService.Success("消息通知", "开始录像成功"); + } + else + { + await ToastService.Error("消息通知", "开始录像失败"); + } + } + + private async Task OnStopRecord() + { + var result = await _hikVision.StopRecord(); + if (result) + { + _startRecordStatus = false; + _stopRecordStatus = true; + await ToastService.Success("消息通知", "结束录像成功"); + } + else + { + await ToastService.Error("消息通知", "结束录像失败"); + } + } + private async Task OnInitedAsync(bool initialized) { _inited = initialized; @@ -181,6 +213,8 @@ private Task OnStartRealPlayedAsync() _stopRealPlayStatus = !_startRealPlayStatus; _openSoundStatus = false; _closeSoundStatus = true; + _startRecordStatus = false; + _stopRecordStatus = true; StateHasChanged(); return Task.CompletedTask; } @@ -191,6 +225,8 @@ private Task OnStopRealPlayedAsync() _stopRealPlayStatus = !_startRealPlayStatus; _openSoundStatus = true; _closeSoundStatus = true; + _startRecordStatus = true; + _stopRecordStatus = true; StateHasChanged(); return Task.CompletedTask; }