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
- WEB端通过语音盒子拨打电话
- 通过网页拨打电话
- web界面拨打电话
- 通过短信猫拨打电话
- 拨打电话通过蓝牙接通
- Android 通过ACTION_CALL 动作拨打电话
- 通过网页拨打电话发送短信
- 微信web开发 - 自动拨打拨打电话问题
- 移动端拨打电话功能
- 拨打电话
- 拨打电话
- 拨打电话
- 拨打电话
- 拨打电话
- 拨打电话
- 拨打电话
- 拨打电话
- 拨打电话
- PHP资源大全
- 如何在移动设备上调试html5开发的网页
- 一个简单拓扑排序的 java 实现
- c语言实现mmap内存映射读取文件和文件加密
- 输入数字列号获取EXCEL的列编号
- WEB端通过语音盒子拨打电话
- 信工所六室面试经历
- UVA11732 strcmp() Anyone?(Trie树)
- 读书笔记:Android开发艺术探索之第4章 View的工作原理
- RFC文档目录
- 字符串长度不够时 根据字符长度补空格
- 隐藏导航栏左边的按钮
- redhat6.4安装nginx
- GUI programming with PyGTK