WEB端通过语音盒子拨打电话

来源:互联网 发布:单片机中断系统有啥 编辑:程序博客网 时间:2024/05/01 05:23

  private static final String openDeviceApi = "/openDevice"; // 打开设备  private static final String closeDeviceApi = "/closeDevice"; // 关闭设备  private final String dialApi = "/dial/{phoneNumber}"; // 拨号  private final String putDownApi = "/putdown"; // 挂机  private final String pickUpApi = "/pickUp"; // 摘机


前段时间公司接到一个项目。项目需求是利用前端技术构建桌面应用。在应用里可以拨打电话,可以控制灯的开关,空调的温度跟湿度。还有视频的直播。

作为一个前端的菜鸟之前都没有想过利用前端技术构建桌面应用,更别说什么打电话,控制灯的开关。通过一段时间的调查发现Electron跟NW可以搞。最终选择用ELE开发。

自己慢慢摸索半个月终于把界面包括自己认为可以实现的功能搞定了。

然后就是监控视频的直播,可怜的是ELE不支持flash;只能通过video来实现。3天的摸索发现了一个HLS库。不过视频有延迟至少10S. 跟老板说要不要换个实现的方式。JS调底层

接口实在是太难实现了。老板说延迟也没关系。后来我就也没有再继续深入研究了。

接下来就是通过USB连接北京先锋音讯的V1设备实现在WEB端打电话接电话。可是他们给的二次开发包都是通过AxtiveX调用DLL文件里的方法。而ELE是集成了谷歌的内核。谷

歌早在几年前就废除了NPAPI改用自己的PPAPI。根本就不支持ActiveX了。还好小编聪明。既然JS不能直接调DLL文件那么就通过JAVA调。最后通过js的HTTP请求JAVA的方法就可以了。下面是我写的jar包跟脚本。

if errorlevel 1 echo ****文件[qnviccub.dll]复制失败********************* & pause @echo oncopy "%~dp0\bin\bridge.dll" %SystemRoot%@echo off if errorlevel 1 echo ****文件[bridge.dll]复制失败************************* & pause @echo onregsvr32 /s %SystemRoot%\qnviccub.dllstart /wait %~dp0\driver\installdrv.exeecho.                                                       echo  JDK 系统环境变量设置     echo.set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environmentset javahome=C:\Program Files (x86)\Java\jdk1.8.0_131echo === 准备设置环境变量: JAVA_HOME=%javahome%echo === 注意: 如果JAVA_HOME存在,会被覆盖,此操作不可逆的,请仔细检查确认!! ===echo.echo === 准备设置环境变量(后面有个.): classPath=%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;.echo === 注意: 如果classPath存在,会被覆盖,此操作不可逆的,请仔细检查确认!! ===echo.echo === 准备设置环境变量: PATH=%%JAVA_HOME%%\binecho === 注意: PATH会追加在最前面,echo.echo.echo.echo.echo.echo === 新创建环境变量 JAVA_HOME=%javahome%setx "JAVA_HOME" "%javahome%" -Mecho.echo.echo === 新创建环境变量 classPath=%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%%\lib\dt.jar;.setx "classPath" "%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%%\lib\dt.jar;." -mecho.echo.echo === 新追加环境变量(追加到最前面) PATH=%%JAVA_HOME%%\binfor /f "tokens=1,* delims=:" %%a in ('reg QUERY "%regpath%" /v "path"') do (    set "FilePathL=%%a"    set "FilePathR=%%b")set "FilePath=%FilePathL:~-1%:%FilePathR%"setx path "%%JAVA_HOME%%\bin;%FilePath%" -mecho.echo 设置开机启动echo.copy "%~dp0\start\start.vbs" "%userprofile%\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"copy "%~dp0\start\JNativeCpp.dll" %SystemRoot%echo.                                                         echo 正在安装JDK请稍等。。。echo.start /wait %~dp0\start\jdk-8u131-windows-i586.exestart /wait %~dp0\start\start.vbspause
执行bat文件就成功了。

打开设备访问接口127.0.0.1:8080/api/openDevice

拨号访问接口        127.0.0.1:8080/api/dial/str

挂机访问接口        127.0.0.1:8080/api/putdown

接电话访问接口     127.0.0.1:8080/api/pickUp

关闭电话访问接口  127.0.0.1:8080/api/closeDevice








原创粉丝点击