vue +WebSDK_V3.3.0

1.在index.html中引入js文件

     <!-- 实时对讲 --><script src="./static/js/jquery-1.7.1.min.js"></script><script src="./static/js/jsVideoPlugin-1.0.0.min.js"></script><script id="videonode" src="./static/js/webVideoCtrl.js"></script>

2.在vue中使用需要修改webVideoCtrl.js文件中引入jsVideoPlugin-1.0.0.min.js的方式如下

     // this.I_InitPlugin = function (options) {//   m_utilsInc.extend(m_options, options)//   var szDirName = m_utilsInc.getDirName()//   if (szDirName) {//     if ('object' === typeof exports && typeof module !== 'undefined') {//     } else if ('function' === typeof define && define.amd) {//       require([szDirName + '/jsVideoPlugin-1.0.0.min.js'], function (o) {//         window.JSVideoPlugin = o.JSVideoPlugin//         if (options.cbInitPluginComplete) {//           options.cbInitPluginComplete()//         }//       })//     } else {//       m_utilsInc.loadScript(//         szDirName + '/jsVideoPlugin-1.0.0.min.js',//         function () {//           if (options.cbInitPluginComplete) {//             options.cbInitPluginComplete()//           }//         }//       )//     }//   }//   window.addEventListener('resize', function () {//     if (m_pluginOBJECT !== null) {//       var oElem = $('#' + m_options.szContainerID)//       m_pluginOBJECT.JS_Resize(oElem.width(), oElem.height())//     }//   })//   window.addEventListener('unload', function () {})// }this.I_InitPlugin = function (options) {m_utilsInc.extend(m_options, options)if ('object' === typeof exports && typeof module !== 'undefined') {require(['./jsVideoPlugin-1.0.0.min.js'], function (o) {window.JSVideoPlugin = o.JSVideoPluginif (options.cbInitPluginComplete) {options.cbInitPluginComplete()}})} else if ('function' === typeof define && define.amd) {require(['./jsVideoPlugin-1.0.0.min.js'], function (o) {window.JSVideoPlugin = o.JSVideoPluginif (options.cbInitPluginComplete) {options.cbInitPluginComplete()}})} else {m_utilsInc.loadScript('./jsVideoPlugin-1.0.0.min.js', function () {if (options.cbInitPluginComplete) {options.cbInitPluginComplete()}})}window.addEventListener('resize', function () {if (m_pluginOBJECT !== null) {var oElem = $('#' + m_options.szContainerID)m_pluginOBJECT.JS_Resize(oElem.width(), oElem.height())}})window.addEventListener('unload', function () {})window.addEventListener('scroll', function () {})}

在使用到页面中

html

  <div id="divPlugin" class="plugin"></div>

js

     dataHD: {ip: "197.11.44.33333333",port: "80",user: "admin",password: "14141414",},startRealTimeIntercom: false,currentLoginIpPort: "",audiochannels: 0,
 mounted() {this.initS()},
 initS() {//初始化插件参数及插入插件WebVideoCtrl.I_InitPlugin({bWndFull: true,     //是否支持单窗口双击全屏,默认支持 true:支持 false:不支持iWndowType: 1,cbInitPluginComplete: function () {WebVideoCtrl.I_InsertOBJECTPlugin("divPlugin").then(() => {// 检查插件是否最新// WebVideoCtrl.I_CheckPluginVersion().then((bFlag) => {//   if (bFlag) {//     alert("检测到新的插件版本,双击开发包目录里的HCWebSDKPlugin.exe升级!");//   }// });}, () => {// alert("插件初始化失败,请确认是否已安装插件;如果未安装,请双击开发包目录里的HCWebSDKPlugin.exe安装!");});}});setTimeout(() => {this.clickLogin()}, 1000)},// 登录clickLogin() {console.log('denglu', this.dataHD.ip, 1, this.dataHD.port, this.dataHD.user, this.dataHD.password);let that = thisWebVideoCtrl.I_Login(this.dataHD.ip, 1, this.dataHD.port, this.dataHD.user, this.dataHD.password, {success: function (xmlDoc) {that.currentLoginIpPort = that.dataHD.ip + "_" + that.dataHD.port;that.getSpeakChanel()},error: function (oError) {that.currentLoginIpPort = that.dataHD.ip + "_" + that.dataHD.port;that.getSpeakChanel()console.log(oError, " 登录失败12.28!", oError.errorCode, oError.errorMsg)}});},// 获取对讲通道getSpeakChanel() {let that = thisWebVideoCtrl.I_GetAudioInfo(that.currentLoginIpPort, {success: function (xmlDoc) {var oAudioChannels = $(xmlDoc).find("TwoWayAudioChannel")$.each(oAudioChannels, function () {var id = $(this).find("id").eq(0).text();// 获取对讲通道that.audiochannels = id});},error: function (oError) {}})},
    // 开启对讲startSpeak() {console.log(this.audiochannels, this.currentLoginIpPort, 'this.audiochannels && this.currentLoginIpPort');if (this.audiochannels && this.currentLoginIpPort) {let iAudioChannel = parseInt(this.audiochannels, 10)WebVideoCtrl.I_StartVoiceTalk(this.currentLoginIpPort, iAudioChannel).then(() => {console.log("开始对讲成功");}, (oError) => {console.log("开始对讲失败");});}},// 停止对讲endSpeak() {WebVideoCtrl.I_StopVoiceTalk().then(() => {console.log("停止对讲成功");}, (oError) => {console.log("停止对讲失败");});},

小小功能整了一天:记住以下要点

1.在网上找了几篇文章cv的时候在index.html以内的文件名错了。。。。离离原上谱,,,

2.最开始后端大哥教我 无需安装插件然后一直报错m_pluginOBJECT.JS_SubmitHttpRequest(options)

后来我细细看了一下js文件初始化插件是必须的一步 我这里只需要登录成功即可 是不用安装插件但是呢初始化插件这一步是必须的WebVideoCtrl.I_InsertOBJECTPlugin否则m_pluginOBJECT就是null导致报错

3.就是一定要修改webVideoCtrl.js文件中引入jsVideoPlugin-1.0.0.min.js的方式 因为vue和html编译不同会导致找不到哇。。。。

其他别的功能应该都是大同小异 cv  js文件中已经封装好的方法即可 对了还有最后一点就是在vue中登录的前提是可以在html那个dome的文件中可以登录再研究,别页面都登录不了就框框一顿操作;以及需要启动ng 记得将ng中的配置文件中的端口和ip修改成你本地的以及在网页中输入localhost是可以访问到页面 再登录!!!!

好了 准备美美下班~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/583097.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于element ui封装table组件

效果图&#xff1a; 1.封装表格代码如下 <template> <div><div class"TableList"><el-tablev-loading"loading"selection-change"selectionChange"class"table":data"tableData":border"hasBorde…

【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现

【2023年中国高校大数据挑战赛 】赛题 B DNA 存储中的序列聚类与比对 Python实现 1 题目 赛题 B DNA 存储中的序列聚类与比对 近年来&#xff0c;随着新互联网设备的大量涌入和对其服务需求的指数级增长&#xff0c;越来越多的数据信息被产生与收集。预计到 2021 年&#xf…

如何手动升级Chrome插件/Chrome扩展程序?

Chrome 浏览器的插件&#xff08;也称为扩展&#xff09;通常会自动更新到最新版本。这是因为 Chrome 会定期检查并下载来自 Chrome 网上应用店的扩展更新。然而&#xff0c;如果你需要手动更新扩展&#xff0c;可以按照以下步骤操作&#xff1a; 打开 Chrome 浏览器。点击浏览…

.Net FrameWork总结

.Net FrameWork总结 介绍.Net公共语言运行库CLI的组成.NET Framework的主要组成.NET Framework的优点CLR在运行期管理程序的执行&#xff0c;包括以下内容CLR提供的服务FCL的组成 或 服务&#xff08;这个其实就是我们编码时常用到的类库&#xff09;&#xff1a;&#xff08;下…

408数据结构常考算法基础训练

408相关&#xff1a; 408数据结构错题知识点拾遗 408数据结构常考算法基础训练 408计算机组成原理错题知识点拾遗408操作系统错题知识点拾遗等待完善408计算机网络错题知识点拾遗 408计算机网络各层协议简记等待完善 该训练营为蓝蓝考研&#xff08;蓝颜知己&#xff09;的算…

6.5 会话与输入事件(二)

一,键盘会话 键盘输入会话是用类型SCREEN_EVENT_KEYBOARD创建的,可以与可能生成这些类型输入事件的一个或多个设备相关联。 当输入是从键盘设备输入文本时,使用键盘会话。不使用键盘会话的SCREEN_PROPERTY_MODE 属性。 二,多点触控会话 2.1 多点触控会话 多点触控(to…

Python漂浮爱心完整代码

文章目录 环境需求完整代码详细分析环境需求 python3.11.4PyCharm Community Edition 2023.2.5pyinstaller6.2.0(可选,这个库用于打包,使程序没有python环境也可以运行,如果想发给好朋友的话需要这个库哦~)【注】 python环境搭建请见:https://want595.blog.csdn.net/arti…

【PXIE301-208】基于PXIE总线架构的Serial RapidIO总线通讯协议仿真卡

板卡概述 PXIE301-208是一款基于3U PXIE总线架构的Serial RapidIO总线通讯协议仿真卡。该板卡采用Xilinx的高性能Kintex系列FPGA作为主处理器&#xff0c;实现各个接口之间的数据互联、处理以及实时信号处理。板卡支持4路SFP光纤接口&#xff0c;支持一个PCIe x8主机接口&…

保护用户隐私:自定义Java注解实现API响应数据脱敏

在数字化时代&#xff0c;数据隐私的保护变得愈发重要。尤其是在处理用户数据时&#xff0c;我们必须确保敏感信息不会被无意中泄露。作为开发者&#xff0c;我们有责任确保在应用程序的接口&#xff08;API&#xff09;返回数据时&#xff0c;敏感字段如手机号、邮箱、身份证号…

不同SqlServer版本的Jdbc驱动下载地址

不同SqlServer版本的Jdbc驱动下载地址 1.下载地址 发行说明 - JDBC Driver for SQL Server | Microsoft Learn 版本兼容性查看 支持矩阵 - JDBC Driver for SQL Server | Microsoft Learn 建议方法查看 SQL 版本兼容性 Java 和 JDBC 规格支持 2.下载驱动 下面是2008版本对应…

写一个工具类能够让所有的建筑物体检测地面并且吸附地面

直接上代码 using UnityEditor; using UnityEngine; using System.Collections.Generic; using System.IO; using OHGame; using Unity.VisualScripting;public class OHEditorTool : Editor {[MenuItem("OHGame/Tools/行动区域点落地")]private static void GetObj…

element el-table实现可进行横向拖拽滚动

【问题】表格横向太长&#xff0c;表格横向滚动条位于最底部&#xff0c;需将页面滚动至最底部才可左右拖动表格&#xff0c;用户体验感不好 【需求】基于elment的el-table组件生成的表格&#xff0c;使其可以横向拖拽滚动 【实现】灵感来源于这篇文章【Vue】表格可拖拽滚动&am…

Linux 线程概念

文章目录 前言线程的概念线程的操作操作的原理补充与说明 前言 ① 函数的具体说明被放在补充与说明部分 ② 只说些基础概念和函数使用 线程的概念 网络回答&#xff1a;Linux 线程是指在 Linux 操作系统中创建和管理的轻量级执行单元。线程是进程的一部分&#xff0c;与进程…

flutter 安卓使用高德插件黑屏

地址 https://lbs.amap.com/api/android-sdk/guide/create-project/android-studio-create-project 下面介绍的方式是Native配置 sdk&#xff0c;也就是需要手动下载到本地在引入的方式 1、添加 jar 文件&#xff1a; 将下载的地图 SDK 的 jar包复制到工程&#xff08;此处截…

基于变态模态分解+bp-rf的轴承故障分类,基于变态模态分解的+BP神经网络-随机森林的轴承故障分类

目录 背影 摘要 随机森林的基本定义 随机森林实现的步骤 基于随机森林的机器启动识别 代码下载链接: 基于变态模态分解+bp-rf的轴承故障分类,基于变态模态分解的+BP神经网络-随机森林的轴承故障分类(代码完整,数据齐)资源-CSDN文库 https://download.csdn.net/download/ab…

LeetCode2706. Buy Two Chocolates

文章目录 一、题目二、题解 一、题目 You are given an integer array prices representing the prices of various chocolates in a store. You are also given a single integer money, which represents your initial amount of money. You must buy exactly two chocolat…

2702 高级打字机

因为Undo操作只能撤销Type操作&#xff0c;所以Undo x 实际上就是删除文章末尾x个字母。用一个栈即可解决&#xff08;每个字母最多进出一次&#xff09;。 这种情况下只需要设计一个合理的数据结构依次执行操作即可。 版本树&#xff1a;Undo x撤销最近的x次修改操作&#xf…

将正规文法转化为正规式

将正规文法转化为正规式有以下几个规则&#xff1a; 通过一道例题来讲解&#xff1a; ①A-->aC|bA ②C-->bD ③D-->aC|bD| (1)首先将②带入③&#xff08;不能将自身带入自身例如D-->aC|bD|,文法中带D&#xff0c;不能带入D&#xff09; DabD|bD|&#xff08;…

ARM CCA机密计算软件架构之内存加密上下文(MEC)

内存加密上下文(MEC) 内存加密上下文是与内存区域相关联的加密配置,由MMU分配。 MEC是Arm Realm Management Extension(RME)的扩展。RME系统架构要求对Realm、Secure和Root PAS进行加密。用于每个PAS的加密密钥、调整或加密上下文在该PAS内是全局的。例如,对于Realm PA…

公司创建百度百科需要哪些内容?

一个公司或是一个品牌想要让自己更有身份&#xff0c;更有知名度&#xff0c;更有含金量&#xff0c;百度百科词条是必不可少的。通过百度百科展示公司的详细信息&#xff0c;有助于增强用户对公司的信任感&#xff0c;提高企业形象。通过百度百科展示公司的发展历程、领导团队…