我已经成功地与ATDTn进行了通话,但我听不到接收者的任何声音。我已经用谷歌搜索过了,但是没有帮助。它是一个语音调制解调器。我有什么地方做错了吗?
这是我的代码:
if ((m_serialPort != null) && (m_serialPort.IsOpen))
{
SerialPort port = m_serialPort;
string t = port.ReadExisting();
System.Threading.Thread.Sleep(100);
port.WriteLine("AT+FCLASS=8" + "\r");
System.Threading.Thread.Sleep(100);
port.WriteLine("AT+CVHU" + ";\r");
System.Threading.Thread.Sleep(100);
port.WriteLine("AT+CRC=1" + ";\r");
System.Threading.Thread.Sleep(100);
port.WriteLine("AT+CLIP=1" + ";\r");
System.Threading.Thread.Sleep(100);
port.WriteLine("ATM3" + "\r");
System.Threading.Thread.Sleep(500);
string cmd = "ATDT";
string phoneNumber = tocall;
port.WriteLine(cmd + phoneNumber + ";\r");
System.Threading.Thread.Sleep(100);
port.WriteLine("AT^DDSETEX=2" + "\r");
System.Threading.Thread.Sleep(100);
port.WriteLine("AT+VTX");
txtCallStatus.Text = "Calling";
Speak(1, "You are calling " + txtDial.Text);
callchecker.Start();
bCall.Content = "End Call";
cbComPort.IsEnabled = false;
} 发布于 2014-09-26 01:39:19
有关AT命令的完整列表,请访问see this wikipedia entry。
有关语音调制解调器命令的完整列表,请访问see this wikipedia entry。
通常,您需要执行以下操作:
1)请求语音调制解调器模式:
AT+FCLASS=8 (on some older modems, use AT#CLS=8 )2)扬声器打开,直到远程载波检测到/忙检测到,并拨号。
ATm1x3DTxxxxxxx (Where xxxxxxx is phone number.)注意:根据我的经验,我总是必须将它们作为两个单独的命令来运行
根据您的调制解调器,您可能还需要通过以下方式增加音量:
ATL1, ATL2, or ATL3 (depending on how loud you need it.)要在语音呼叫过程中发送DTMF铃声:
AT+VTS={x,25} (where x = digit to dial)https://stackoverflow.com/questions/26044598
复制相似问题