Мне не удалось найти литературу по этому вопросу.Существует ли DTMF API или стандарт, который включает в себя буквы, а также стандартные числовые значения?
ответ
DTMF охватывает только цифры 0
для 9
и буквы #, *, A, B, C,
и D
. Так что, если ваш вопрос существует ли что-нибудь, что поддерживает письма после того, как D , то ответ нет.
«DTMF» Touch «Тоны определены в CCITT том VI: Общие рекомендации по телефонной коммутации и сигнализации Рекомендация Q.23: Технические характеристики кнопочных телефонных аппаратов». Этот документ и связанные с ним стандартные документы расскажут вам больше, чем вы хотели бы узнать о тонах DTMF. "
Эта цитата из here. Эта веб-страница охватывает все основы.
Ну следующая функция будет генерировать 16-бит, подписанный, линейный PCM, DTMF тон в Java.
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);
Нет, его не gina.dll точно, но контекст определенно связан с программированием для приложений дозвона. – ojblass