是否有包含字母和标准数值的DTMF API或标准?

时间:2009-04-18 22:12:26

标签: standards iso dtmf

我无法找到有关此主题的任何文献。

3 个答案:

答案 0 :(得分:1)

以下函数将在Java中生成16位有符号线性PCM,DTMF音调。

public byte[] generateTone(float a, float b)
{
    byte samples[] = new byte[16000];    // Tone data buffer.
    int frames = samples.length / 2;     // Number of frames that fit in the buffer.

    /* Fill the buffer with the tone data. */
    for(int i = 0; i < frames; i++)
    {
        /* The 8000 value is the sample rate. */
        short value = (short)(32768 + 63 * Math.sin(i * 2 * Math.PI * a / 8000) + 63 * Math.sin(i * 2 * Math.PI * b / 8000));
        samples[i + i] = (byte)(value >>> 8);
        samples[i + (i + 1)] = (byte)value;
    }

    return samples;
}

我希望这会有所帮助......只需将两个频率作为参数a和b插入即可获得音调。例如,第一个将生成为:

byte tone[] = generateTone(697, 1209);

答案 1 :(得分:0)

“DTMF”触摸“CCITT第VI卷:关于电话交换和信令的一般建议建议Q.23:按钮式电话机的技术特性。”。本文档及其相关标准文档将告诉您比DTMF音调更多的信息。 “

此引用来自here。该网页涵盖了所有基础知识。

答案 2 :(得分:0)

DTMF仅涵盖数字09以及字母#, *, A, B, C,D。因此,如果您的问题确实存在D之后支持字母的任何内容,那么答案就是否定。