我正在尝试执行以下操作
我正在使用我的 Java 应用程序打电话给另一个人(已经完成并且工作正常)。
然后我正在播放录音,例如“请按 1 继续用英语”(已经完成并且工作正常)。
现在我想检测那个人按 1,根据我在谷歌搜索中的研究,我知道这可以使用 DTMF。如果这个人按 1,我想根据我的情况执行操作。
我的问题是如何在 java (J2SE) 中使用 DTMF 检测该数字。我正在使用中兴 USB 加密狗拨打电话。拨号、挂断等控制是通过AT指令+Java IO实现的。
这是我的示例代码,但它没有给出正确的拨号号码及其每次循环。
public class zxczczz extends javax.swing.JFrame {
/**
* Creates new form zxczczz
*/
public zxczczz() {
initComponents();
}
float[] lowFreq = new float[]{697.0F, 770.0F, 852.0F, 941.0F};
float[] highFreq = new float[]{1209.0F, 1336.0F, 1477.0F, 1633.0F};
float[] dtmfTones = new float[]{697.0F, 770.0F, 852.0F, 941.0F, 1209.0F, 1336.0F, 1477.0F, 1633.0F};
int dtmfBoard[][] = {{1, 2, 3, 12}, {4, 5, 6, 13}, {7, 8, …Run Code Online (Sandbox Code Playgroud)