我无法找到有关此主题的任何文献。
答案 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仅涵盖数字0
至9
以及字母#, *, A, B, C,
和D
。因此,如果您的问题确实存在D之后支持字母的任何内容,那么答案就是否定。