Je n'ai pas trouvé de documentation sur le sujet.Existe-t-il une API DTMF ou une norme qui inclut des lettres ainsi que des valeurs numériques standard?
Répondre
DTMF ne couvre que les chiffres 0
à 9
et des lettres #, *, A, B, C,
et D
. Donc, si votre question est-ce qu'il existe quelque chose qui prend en charge les lettres après D , alors la réponse est non.
Les touches "DTMF" sont définies dans le volume VI du CCITT: Recommandations générales sur la commutation et la signalisation téléphoniques Recommandation Q.23: Caractéristiques techniques des postes téléphoniques à bouton-poussoir. ". Ce document et ses documents standard connexes vous en diront plus que vous ne voudrez jamais savoir sur les tonalités DTMF. "
Cette citation est tirée here. Cette page Web couvre toutes les bases.
Eh bien la fonction suivante génère un 16 bits, signé, PCM linéaire, la tonalité DTMF en 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;
}
J'espère que cela aide ... Il suffit de brancher les deux fréquences que les paramètres a et b et vous obtenez un son. Par exemple le numéro un serait généré comme:
byte tone[] = generateTone(697, 1209);
Non ce n'est pas gina.dll exactement mais le contexte est certainement lié à la programmation pour les applications de numérotation. – ojblass