この件に関する文献を見つけることができませんでした。
3 に答える
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として2つの周波数を接続するだけで、トーンが得られます。たとえば、ナンバーワンは次のように生成されます。
byte tone[] = generateTone(697, 1209);
于 2009-10-01T15:29:58.577 に答える
0
「DTMF「タッチ」トーンは、CCITT ボリューム VI で定義されています: 電話交換およびシグナリングに関する一般的な推奨事項 Q.23: 押しボタン式電話セットの技術的特徴」. このドキュメントとそれに関連する標準ドキュメントは、DTMF トーンについて知りたいと思う以上のことを教えてくれます。"
この引用はここからです。そのウェブページはすべての基本をカバーしています。
于 2009-04-18T22:44:50.407 に答える
0
DTMFは数字0
から9
と 文字#, *, A, B, C,
とD
. したがって、D の後に文字をサポートするものは何かという質問がある場合、答えはノーです。
于 2009-04-18T23:24:45.270 に答える