我创建了一个可以拨打电话的 C# 程序。现在我要做的是计算远程电话设备中发生的响铃次数。
我的 C# 程序使用命令 ATDT [phoneno]拨打号码。如果远程电话响铃超过 5 次,我必须执行一些其他活动。
有什么办法可以做到这一点?
我创建了一个可以拨打电话的 C# 程序。现在我要做的是计算远程电话设备中发生的响铃次数。
我的 C# 程序使用命令 ATDT [phoneno]拨打号码。如果远程电话响铃超过 5 次,我必须执行一些其他活动。
有什么办法可以做到这一点?
您无法通过标准调制解调器和串行端口实现这一点。你能做的最好的就是有一个超时。在振铃时,调制解调器只是在启动任何通信之前寻找载波信号。它不计算戒指。
如果您绝对必须这样做,则将涉及从调制解调器获取音频并对其进行处理以获取振铃次数(并非微不足道,因为取决于电话网络等,振铃差异很大,并且可能与保持音混淆)。
据我所知,您无法计算实际的环数。试想一个不响但会播放歌曲的手持设备。所以你所能做的就是运行一个计时器并在达到超时(例如20秒)后挂断。
根据调制解调器,您应该能够收到响铃通知。打开串行端口进行输入,并观察一个字,例如RING
当线路被调用时。您应该能够启动某种计数器并观察线路状态。您可能需要查看设备的高级 AT 命令,以确保将其配置为报告这些通知。
看起来您可能想查看寄存器S0
和S1
.