0

この件に関する文献を見つけることができませんでした。

4

3 に答える 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 に答える