当前位置:   article > 正文

vue 对接海康 硬件产品 录像机 WEB3.3控件开发包 V3.3_vue3 海康web3.3

vue3 海康web3.3

前提 

        先去官网下载WEB3.3控件开发包,自己先用开发包里的 dome.html 先自测可不可行

3.0 的不支持高版本的谷歌浏览器 3.2 虽然支持 但是 需要录像机 可以传 ws流 综合 我的项目 我就 使用了3.3 

选择3.3下载到本地 

打开dome页面测试 

红框为必填 输入录像机的信息 点击开始 预览如果 显示画面 就可以 使用了

下面 就是 我看文档改的代码  文档真的很有用 哪里不懂就多看看 研究一下

第一步 

        先把需要用的文件引入 项目中

 当时 为了 方便 就 把 dome 文件 全放进了项目 引入到项目是 需要 引到public文件里的 index页面里

第二步

        代码使用:

  1. <template>
  2. <div>
  3. <div id="divPlugin" class="plugin"></div>
  4. </div>
  5. </template>
  6. <script>
  7. export default {
  8. data() {
  9. return {
  10. oLiveView: {
  11. iProtocol: 1, // http 协议,1 表示 http 协议 2 表示 https 协议
  12. szIP: '', // 设备的 IP 地址或者普通域名(比如花生壳域名)
  13. szPort: '', // 登录设备的 http/https 端口号,根据 iPrototocol 选择传入不同的端口
  14. szUsername: '', // 登录用户名称
  15. szPassword: '', // 登录用户密码
  16. iStreamType: 1, // 码流类型 1-主码流,2-子码流,默认使用主码流预览
  17. iChannelID: 1, // 播放通道号,默认通道 1
  18. bZeroChannel: false, // 是否播放零通道,默认为 false
  19. },
  20. };
  21. },
  22. mounted() {
  23. this.initPlugin();
  24. },
  25. methods: {
  26. // 初始化插件参数及插入插件
  27. initPlugin() {
  28. let this_ = this;
  29. let oLiveView = this.oLiveView;
  30. window.WebVideoCtrl.I_InitPlugin({
  31. bWndFull: true, //是否支持单窗口双击全屏,默认支持 true:支持 false:不支持
  32. iWndowType: 1,
  33. cbInitPluginComplete: function () {
  34. console.log('初始化');
  35. window.WebVideoCtrl.I_InsertOBJECTPlugin('divPlugin').then(
  36. () => {
  37. // 检查插件是否最新
  38. window.WebVideoCtrl.I_CheckPluginVersion().then((bFlag) => {
  39. if (bFlag) {
  40. console.log(
  41. '检测到新的插件版本,双击开发包目录里的WebComponentsKit.exe升级!'
  42. );
  43. }
  44. this_.clickLogin(oLiveView);
  45. });
  46. },
  47. () => {
  48. console.log(
  49. '插件初始化失败,请确认是否已安装插件;如果未安装,请双击开发包目录里的HCWebSDKPlugin.exe升级!'
  50. );
  51. }
  52. );
  53. },
  54. });
  55. },
  56. // 登录
  57. clickLogin(oLiveView) {
  58. let this_ = this;
  59. window.WebVideoCtrl.I_Login(
  60. oLiveView.szIP, //设备的 IP 地址
  61. oLiveView.iProtocol, //http 协议,1 表示 http 协议 2 表示 https 协议
  62. oLiveView.szPort, //登录设备的 http/https 端口号,根据 iPrototocol 选择传入不同的端口
  63. oLiveView.szUsername, //登录用户名称
  64. oLiveView.szPassword, //用户密码
  65. {
  66. timeout: 3000,
  67. success: function () {
  68. console.log(' 登录成功!');
  69. this_.clickGetDigitalChannelInfo(oLiveView);
  70. },
  71. error: function (oError) {
  72. console.log(' 登录失败!', oError.errorCode, oError.errorMsg);
  73. },
  74. }
  75. );
  76. },
  77. // 获取 端口 数字通道 (必须先获取端口 数字通道 或 模拟通道 才能开始预览)
  78. clickGetDigitalChannelInfo(oLiveView) {
  79. let this_ = this;
  80. var szDeviceIdentify = oLiveView.szIP + '_' + oLiveView.szPort;
  81. // 获取端口
  82. window.WebVideoCtrl.I_GetDevicePort(szDeviceIdentify).then(
  83. (oPort) => {
  84. console.log(' 获取端口成功!');
  85. // 获取数字通道
  86. window.WebVideoCtrl.I_GetAnalogChannelInfo(szDeviceIdentify, {
  87. async: false,
  88. success: function () {
  89. this_.clickStartRealPlay(oLiveView);
  90. console.log(' 获取数字通道成功!');
  91. },
  92. error: function () {
  93. console.log(' 获取数字通道失败!');
  94. },
  95. });
  96. },
  97. (oError) => {
  98. console.log(' 获取端口失败!');
  99. }
  100. );
  101. },
  102. // 开始预览
  103. clickStartRealPlay(oLiveView) {
  104. var szDeviceIdentify = oLiveView.szIP + '_' + oLiveView.szPort;
  105. window.WebVideoCtrl.I_StartRealPlay(szDeviceIdentify, {
  106. // iWndIndex: i,
  107. iStreamType: oLiveView.iStreamType,
  108. // iChannelID: i + 1,
  109. bZeroChannel: oLiveView.bZeroChannel,
  110. success: function () {
  111. console.log('预览成功!');
  112. },
  113. error: function (status) {
  114. if (403 === status) {
  115. console.log('设备不支持Websocket取流!');
  116. } else {
  117. console.log('预览失败!');
  118. }
  119. },
  120. });
  121. },
  122. },
  123. };
  124. </script>
  125. <style lang="scss">
  126. .plugin {
  127. width: 665px;
  128. height: 878px;
  129. }
  130. </style>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/667419
推荐阅读
相关标签
  

闽ICP备14008679号