我已经成功实现了Java Api并开始发送短信和拨打电话.但我发现无法接听来电.我已经尝试了RI事件(serialPort.notifyOnRingIndicator(true);).但是它没有触发只有DATA_AVAILABLE事件才会被激活
我正在尝试实现一个IVR系统.如何在这种情况下发送ATA命令,如何检测RING以及为什么RI事件不会触发
package sample;
import java.io.*;
import java.util.*;
import gnu.io.*;
import java.io.*;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
import org.apache.log4j.chainsaw.Main;
import sun.audio.*;
public class GSMConnect implements SerialPortEventListener,
CommPortOwnershipListener {
private static String comPort = "COM6"; // This COM Port must be connect with GSM Modem or your mobile phone
private String messageString = "";
private CommPortIdentifier portId = null;
private Enumeration portList; …Run Code Online (Sandbox Code Playgroud) 我已经实现了一个使用gsm调制解调器接收呼叫的程序.在检测到"RING"呼叫被应答时,通过从DATA_AVAILABLE EVENT HANDLER内部调用功能来播放音频剪辑.但事件处理程序在此之后停止工作.音频完成后,事件处理程序不再显示任何数据接收事件.
为什么事件侦听器停止工作.从事件处理程序内部播放音频,我做错了吗?我正在考虑从data_received事件处理程序中设置一个变量true或false,并创建自定义事件处理程序来监听对该变量的更改以进行音频回放,这些都可以同时工作吗?
如何创建多线程解决方案使串行I/O不会中断,音频播放和音频采样可以同步方式完成,以检测dtmf音调.有没有什么方法可以不间断地连续收听串口事件,并在特定时间运行音频采样和音频播放功能
case SerialPortEvent.DATA_AVAILABLE:
StringBuffer sb = new StringBuffer();
byte[] readBuffer = new byte[2048];
try {
while (inputStream.available() > 0)
{
int numBytes = inputStream.read(readBuffer);
sb.append(new String(readBuffer,0,numBytes));
System.out.println(numBytes);
System.out.println(sb);
}
System.out.println("Data Available");
if((sb.toString()).contains("RING")){
System.out.println("Enter Inside if RING Loop");
//play();
send("ATA\r\n");
//welcomeMessage();
}
if((sb.toString()).contains("CARRIER")){
hangup();
//Thread.sleep(1000);
closePort();
outCommand();
System.out.println("Enter Inside if NO CARRIER Loop");
}
//print response message
System.out.print(sb.toString());
} catch (IOException e) {
}
break;
Run Code Online (Sandbox Code Playgroud)
public void play() {
try {
new Thread() { …Run Code Online (Sandbox Code Playgroud) 我正在使用使用Phoenix Framework(用Elixir编写)开发的Web应用程序.
我有一个表单字段,目前看起来像这样:
<div class="form-group">
<%= select f, :category_id, @categories, class: "form-control" %>
<%= error_tag f, :category_id %>
</div>
Run Code Online (Sandbox Code Playgroud)
这允许用户从下拉列表中选择一个类别(这没关系); 但是,我希望用户看到的是一个标准文本字段,当他们开始输入时,它会自动填充输入数据库的字符串.
与我们在Stack Overflow上发布问题时使用的Tags字段非常相似的功能.
使用Phoenix应用程序执行此操作的最佳方法是什么?我尝试过使用jQuery Autocomplete; 但是,我想要一个更"轻量级"的解决方案(不需要jQuery).
任何想法都非常感谢.感谢您的时间.
这是原始屏幕截图,我将图像裁剪成4个部分,并将图像的背景清除到我可以做的范围,但tesseract只检测到最后一列而忽略了其余部分.
显示tesseract的输出,因为在处理结果时我删除了空格
Femme—Fatale.
DaRkLoRdEIa
aChineseN1gg4
Noob_Diablo_
Run Code Online (Sandbox Code Playgroud)
显示tesseract的输出,因为在处理结果时我删除了空格
Kicked.
NosNoel
ChikiZD
Death_Eag|e_42
Chai—.
Run Code Online (Sandbox Code Playgroud)
3579 10 1 7 148
2962 3 O 7 101
2214 2 2 7 99
2205 1 3 6 78
Run Code Online (Sandbox Code Playgroud)
8212
7198
6307
5640
4884
15
40
40
6O
80
80
Run Code Online (Sandbox Code Playgroud)
我只是倾销输出
result = `pytesseract.image_to_string(Image.open("D:/newapproach/B&W"+str(i)+".jpg"),lang="New_Language")`
Run Code Online (Sandbox Code Playgroud)
但是我不知道如何从这里开始获得一致的结果.无论如何,我可以强制tesseract识别文本区域并使其扫描.因为在培训师(SunnyPage)中,tesseract默认识别扫描它无法识别某些区域,但一旦我选择手动,一切都被检测到并正确翻译成文本
我正在尝试将表单内容居中。但即使在为表单容器设置 display:block 然后应用 text-align:center; 我又做了另一项工作 put padding:0 33% 它使表单内容居中但是使用不同的视图端口大小,它会缩小文本框的大小。我想将表单元素居中并希望它们占据容器大小,请解释为什么会发生这种情况以及我忽略了什么。我希望它能够工作所有视图端口尺寸。我想知道导致此问题的原因甚至覆盖内联代码
CSS
#Banner{
background:url('http://i67.tinypic.com/midkki.png') no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
width:100%;
min-height:960px;
}
#Menu{
min-height:120px;
}
body,html{
padding:0;
margin:0;
}
.nopm{
padding:0;
margin:0;
}
#Menu ul{
padding:0;
margin:0;
}
#Menu li{
list-style:none;
float:left;
padding:1em .3em;
float:left;
margin:2em 0;
}
#Menu a{
text-decoration:none;
font-family: Rockwell,Courier Bold,Courier,Georgia,Times,Times New Roman,serif;
font-size: 24px;
font-style: normal;
font-variant: normal;
font-weight: 600;
line-height: 28px;
color:#fff;
margin:1em .5em;
padding:10px;
border:2px solid #fff; …Run Code Online (Sandbox Code Playgroud) //Initializing session
app.use(session({
secret: 'keyboard cat',
resave: true,
saveUninitialized: true
//cookie: { secure: true }
}));
Run Code Online (Sandbox Code Playgroud)
我正在创建购物车并遇到问题,我在会话中设置购物车对象
req.session.cart = [];
Run Code Online (Sandbox Code Playgroud)
//然后
req.session.cart.push({
title : p.title,
price : p.price,
image : '/static/Product_images/'+p._id+'/'+p.image,
quantity:quantity,
subtotal : p.price
});
Run Code Online (Sandbox Code Playgroud)
之后我尝试安慰那个,我在其中获取了包含购物车对象的会话变量,但之后我尝试将其设置app.locals.cart为与ejs一起使用,尝试从快递模块的get方法中获取req.session但是req.session.cart给出了undefined.
app.use(require('connect-flash')());
app.use(function (req, res, next) {
res.locals.messages = require('express-messages')(req, res);
// console.log("New cart variable");
//console.log(req.session);
//console.log(req.locals);
//console.log(req.app.locals.cart);
if(req.session.cart!=="undefined"){
app.locals.cart=[];
app.locals.cart = req.session.cart ;
}
next();
});
Run Code Online (Sandbox Code Playgroud)
我无法理解为什么会话变量丢失了cart对象
在经历了StackOverflow中的一些问题后,我发现没有什么可以解决我的困境.所以我决定停止使用简单的console.log而是我决定使用nodejs检查器并且我安装了我运行
node --inspect app.js
但我遇到的问题是它限制了对app.js的访问权限,添加购物车功能在routes/cart.js中
我想使用nodejs检查器模块跟踪请求流,并找出每次从会话变量中删除cart变量的原因
所以我的问题分为两个部分,第一部分: -为什么sources文件夹只显示app.js而不是像这个简单的教程中的整个项目
我没有得到项目和文件在其中设置调试点和源只有app.js作为默认加载源
第二部分 …
<div id="DiamondCenter">
<div id="triangle-topleft"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
#DiamondCenter {
position:fixed;
top:2%;
left:48%;
background: #24201a;
height:40px;
width:40px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
-o-transform: rotate(45deg);
transform: rotate(45deg);
z-index:20 !important;
}
#triangle-topleft {
width: 0;
height: 0;
border-top: 40px solid gray;
border-right: 40px solid transparent;
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用html服务器发送事件在网站上构建实时聊天查询表单.
我按照本教程作为基础
在客户端,要求用户输入用户名.这用作唯一聊天记录识别的主键.
客户端和服务器通过监听以下php页面来侦听服务器发送的事件.
当客户端按下发送按钮时,会将聊天发送到此php页面,该页面将其插入数据库并输出UserName
客户: var serverSource = new EventSource('ServerListener.php');
服务器: var clientSource= new EventSource('ClientListener.php');
这里有两个php文件,一个用于从客户端插入数据库聊天,另一个用于插入来自服务器的回复
当用户发送给chattoserver.php它时,这两个文件还有另一个功能,它还通知服务器收到的新聊天以及用户名搜索未读行并获取它并同时转发到聊天窗口,当服务器回复时,它发送到chatreplyreceived.php它写入数据库并通知在多个客户端监听此文件的情况下.使用用户名读取消息正确的客户端可以搜索数据库以进行回复并附加到聊天记录.
这里的日期在两个列表器页面中都正确显示,但是没有显示消息.文本文件包含发送的消息.当使用firefox网络分析工具检查数据包时.它包含响应部分中的刷新消息.但是列表器未能检测到它.我错误的是消息没有得到回应是什么?
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('input[type=text]').bind("enterKey",function(e){
//alert("Enter");
});
$('input[type=text]').keyup(function(e){
if(e.keyCode == 13)
{
$(this).trigger("enterKey");
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementsByTagName("h1").innerHTML = xmlhttp.responseText;
//alert("hello");
}
}
$('div.chat-box-content').append('<div class="clear"></div><span class="right">'+$(this).val()+ '</span>');
xmlhttp.open("GET", "ClientListener.php?Message='"+$(this).val()+"'" , true);
xmlhttp.send();
// xmlhttp.open("POST","ClientListener.php",true);
// …Run Code Online (Sandbox Code Playgroud) <% using (Html.BeginForm("DisplayCustomer","Customer",FormMethod.Post))
{ %>
Enter customer id :- <%= Html.TextBox("Id",Model)%> <br />
Enter customer code :- <%= Html.TextBox("CustomerCode",Model) %><br />
Enter customer Amount :- <%= Html.TextBox("Amount",Model) %><br />
<input type="submit" value="Submit customer data" />
<%} %>
Run Code Online (Sandbox Code Playgroud)
使用剃刀
@using (Html.BeginForm("DisplayResult", "DisplayCustomer", FormMethod.Post)) {
@Html.ValidationSummary(true);
@:Enter customer id :- @Html.TextBox("Id",Model)
@:Enter customer code :-@Html.TextBox("Code",Model)
@:Enter customer Amount :-@Html.TextBox("Amount",Model)
<input type="submit" value="Enter the value" />
}
Run Code Online (Sandbox Code Playgroud)
编译器错误消息:CS1973: 'System.Web.Mvc.HtmlHelper'没有名为'TextBox'的适用方法,但似乎有一个名称的扩展方法.无法动态分派扩展方法.考虑转换动态参数或调用扩展方法而不使用扩展方法语法.
@using (Html.BeginForm("DisplayResult", "DisplayCustomer", FormMethod.Post)) {
@Html.ValidationSummary(true);
@:Enter customer id :- <input type="text" name="Id" /> …Run Code Online (Sandbox Code Playgroud) const cluster = require('cluster');
const http = require('http');
const numCPUs = require('os').cpus().length;
if (cluster.isMaster) {
console.log(`Master ${process.pid} is running`);
// Fork workers.
for (let i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('exit', (worker, code, signal) => {
console.log(`worker ${worker.process.pid} died`);
});
} else {
// Workers can share any TCP connection
// In this case it is an HTTP server
var sticky = require('sticky-session');
var express = require('express');
var app = express();
app.get('/', function (req, res) { …Run Code Online (Sandbox Code Playgroud)