有关Modem语音编程的几个问题(摘机,接受按键)(100分)

  • 主题发起人 主题发起人 Delphior
  • 开始时间 开始时间
D

Delphior

Unregistered / Unconfirmed
GUEST, unregistred user!
1.我在用AT命令时,如何控制摘机?

首先,如果我先设ATS0=4,响铃四次后摘机,自动摘机后好像进入了数据模式。而程序是要进入语音模式的,摘机后要设置AT+FCLASS=8,我怎么知道什么时候摘了机?有没有摘机后发生的事件?
还有,如果我用AT+FCLASS=8设置语音模式,ATS0=4就好像没有用了?!且设置成语音模式后好像不能手动摘机ATA,甚至连AT命令也不能用了?!
第三,我先用ATS0=4,等响铃两次后,我想用ATA命令却出错,信息是No Carrier。请问如何关掉Carrier Detect?以前Quick BASIC的COMM编程有个CarrierDetect 0的命令,不知道Windows编程中如何设置?

2.语音模式下如何知晓用户的按键?

我知道一点的是,语音模式下当Modem返回ascii码#16时就表示Modem有事发生,(#16叫<DLE>符)是不是收到<DLE>1就表示用户按下了电话上的1?还有一些<DLE>事件是怎样的?

以上问题还请知晓Modem语音编程的搞首赐教,我Delphier不胜感激!谢谢!
 
at 命令集的所有指令都是针对数据通信的,
按键需要识别DTMF编码
 
请该用语音卡吧,用此关键字在sohu 上可查出一大把.
 
还没回答到!
请kill-k兄帮个忙,你好像有一些AT命令顺序?!
 
16叫<<DLE>>符号.
 
#16叫DLE符.
 
delphior:
我一直想学习MODEM语音方面的编程,能不能指点一二,把您的思路和源码给我发一份
万分感激。
yuntaoxin@263.net
 
我不用语音卡!只用AT命令!
 
Delphior兄:
  1)设置完 Modem 的自动应答后,外线拨入
  2)Modem间的握手过程结束后,向串口输出三个"+"
    +++
  3)此时 Modem 就可以将本机串口的输出作为指令而不是数据了。
 
Yes you can put into +++ ,it mean put the moden into the dumb mode,
then the command can't use. every char will send away.

if you want give command again ,when you open the moden in the 20
seconds put into "at&amp;f"(maybe you can see the at for detail")
 
前一段时间本论坛有人提出同样的问题!

Delphior,
我建议你不要直接使用AT命令控制Modem,因为不同厂家的Modem有语音处理上不同!
应该使用TAPI来处理Telephe Voice。

直接使用TAPI接口比较麻烦,有一个Delphi控件TeleTools专做此事,URL:
http://www.exceletel.com/

我用它写了一个112故障电话报自动报修,现在正在做170话费查询!

hehehe....你这100分应该全是我的了...hahahaha.....
 
告诉你们,我已经找到方法了,只用AT命令,谁说不行?
 
要知道吗?等我编完再Email!
 
Dephier也是我,分数收回一些
 
多人接受答案了。
 
delphior大哥,您作完了吗?可否mail me a letter:delphier@163.com。
谢谢!
 
后退
顶部