Yes, but what does that mean?
shematiser for:
ben as our numbers when typing on the keyboard, it's music, each key has its own frequency!
in fact there are 2 cross frequency (broadcast in parallel)
good agreements, but what you do not know can not be,
is that if you hear a phone frequencies keys
Well it will dial the number (so that you do not touch your keyboard!: D)
ais I made a small program that contains the keys of each Wav format DTMF
for example I use the number "3131" (in France) that lets you know who has sought to call us! (free number)
of course if you have a laptop try using one of your numbers
the only constraint being that we must enter the numbers separated by a comma (because of Stringfield ();))
use: once your number parametered
you put your phone line (to hear the beep out)
the approach of the loudspeakers of your computer (turn it up)
you run my prg, who will make his own music, and hop your correspondent has not tarry answer

it's magic

useful if you are programming an address book with your phone numbers
you can ask your computer to dial the number to your place

archive here:
http://michel.dobro.free.fr/Forum_pb/DTMF/DTMF.zip
have Fun

voici juste le code (qui est deja dans l'archive avec les sons )
in French
comme vous le savez peut etre nos telephones sont a frequences vocale
oui mais ça veut dire quoi ?
pour shematiser :
ben que lorsqu'on tape nos numeros sur le clavier , ça fait de la musique , chaque touche ayant sa propre frequence !
en fait il s'agit de 2 fréquences croisées (diffusé en parallèle )
bon d'accords , mais ce que vous ne savez peut etre pas,
c'est que si vous faites entendre a votre téléphone les fréquences des touches
ben il va composer le numéro ( alors que vous ne touchez pas votre clavier !!)
je vous ais fait un petit programme qui contient les Wav de chaque touches au format DTMF
pour l'exemple j'utilise le numero "3131" qui permet de savoir qui a cherché a nous appeler ! (numero gratuit)
bien sur si vous avez un portable essayer d'utiliser un de vos numeros
la seule contrainte etant qu'il faut entrer les numeros séparés par une virgule (a cause de Stringfield())
utilisation : une fois votre numero parametré
vous mettez votre telephone en ligne ( pour entendre le Biiip d'attente )
approchez le des hauts parleur de votre ordinateur (montez le son )
vous lancez mon prg , qui va faire sa petite musique , et hop votre correspondant ne tardera pas a répondre
c'est magique
pratique si vous vous programmez un carnet d'adresse avec vos numeros de telephone
vous pourrez demander a votre ordinateur de composer le numero a votre place
Code: Select all
;***********************************************
;Titre :*DTMF
;Auteur : Dobro
;Date :28/08/2013
;Heure :16:08:38
;Version Purebasic : PureBasic 5.11 (Windows - x86)
;Version de l'editeur :EPB V2.40
; Libairies necessaire : Aucune
;***********************************************
Declare play_DTMF(numero_a_composer$)
Declare DTMF(num.s)
n1$="3131"
InitSound()
CatchSound(15, ?etoile)
CatchSound(14, ?diese)
CatchSound(13, ?D)
CatchSound(12, ?C)
CatchSound(11, ?B)
CatchSound(10, ?A)
CatchSound(9, ?_9)
CatchSound(8, ?_8)
CatchSound(7, ?_7)
CatchSound(6, ?_6)
CatchSound(5, ?_5)
CatchSound(4, ?_4)
CatchSound(3, ?_3)
CatchSound(2, ?_2)
CatchSound(1, ?_1)
CatchSound(0, ?_0)
; *****************************************************
numero_a_composer$=n1$
play_DTMF(numero_a_composer$)
; *************** Zone Procedure *************************
procedure play_DTMF(numero_a_composer$)
; By Dobro
for i=1 to len(numero_a_composer$)
num.s=mid(numero_a_composer$,i,1)
DTMF(num.s)
next i
Endprocedure
;
procedure DTMF(num.s)
; By Dobro
select num
Case "0"
PlaySound(0,#PB_Sound_Loop):delay(200):StopSound(0)
Case "1"
PlaySound(1,#PB_Sound_Loop):delay(200):StopSound(1)
Case "2"
PlaySound(2,#PB_Sound_Loop):delay(200):StopSound(2)
Case "3"
PlaySound(3,#PB_Sound_Loop):delay(200):StopSound(3)
Case "4"
PlaySound(4,#PB_Sound_Loop):delay(200):StopSound(4)
Case "5"
PlaySound(5,#PB_Sound_Loop):delay(200):StopSound(5)
Case "6"
PlaySound(6,#PB_Sound_Loop):delay(200):StopSound(6)
Case "7"
PlaySound(7,#PB_Sound_Loop):delay(200):StopSound(7)
Case "8"
PlaySound(8,#PB_Sound_Loop):delay(200):StopSound(8)
Case "9"
PlaySound(9,#PB_Sound_Loop):delay(200):StopSound(9)
Case "A"
PlaySound(10,#PB_Sound_Loop):delay(200):StopSound(10) ;A
Case "B"
PlaySound(11,#PB_Sound_Loop):delay(200):StopSound(11) ;B
Case "C"
PlaySound(12,#PB_Sound_Loop):delay(200):StopSound(12) ;C
Case "D"
PlaySound(13,#PB_Sound_Loop):delay(200):StopSound(13) ;D
Case "#"
PlaySound(14,#PB_Sound_Loop):delay(200):StopSound(14) ;#
Case "*"
PlaySound(15,#PB_Sound_Loop):delay(200):StopSound(15) ;*
Endselect
Endprocedure
DataSection
; By Dobro
etoile: IncludeBinary "etoile.wav"
diese: IncludeBinary "diese.wav"
D: IncludeBinary "D.wav"
C: IncludeBinary "C.wav"
B: IncludeBinary "B.wav"
A: IncludeBinary "A.wav"
_9: IncludeBinary "9.wav"
_8: IncludeBinary "8.wav"
_7: IncludeBinary "7.wav"
_6: IncludeBinary "6.wav"
_5: IncludeBinary "5.wav"
_4: IncludeBinary "4.wav"
_3: IncludeBinary "3.wav"
_2: IncludeBinary "2.wav"
_1: IncludeBinary "1.wav"
_0: IncludeBinary "0.wav"
EndDataSection
; EPB