Créer une fréquence

Signaler
Messages postés
45
Date d'inscription
lundi 10 septembre 2007
Statut
Membre
Dernière intervention
19 mai 2008
-
Messages postés
206
Date d'inscription
lundi 22 novembre 1999
Statut
Membre
Dernière intervention
3 juillet 2008
-
Bonjour!

Je souhaite pouvoir faire jouer une fréquence précise dans les haut-parleur de mon ordinateur. apres quelque recherche je suis tombé sur se code mais non seulement il ne functione pas sur mon ordinateur mais en plus il utulise le haut parleur interne de l'ordinateur :

Private
Declare
Function Beep
Lib
"kernel32" (
ByVal dwFreq
As
Long,
ByVal dwDuration
As
Long)
As
Long

Function bip()

Dim Cnt
As
Long

For Cnt = 0
To 5000
Step 10Cnt = 440

'play a tone of 'Cnt' hertz, for 50 millisecondsBeep(Cnt, 50)

Next Cnt

End

End
Function

Je me demandais donc comment faire pour faire jouer une fréquence dans mes haut parleurs? existe-il une petit dll qui m'aiderais ou quelquchose du genre? MERCI =D

8 réponses

Messages postés
206
Date d'inscription
lundi 22 novembre 1999
Statut
Membre
Dernière intervention
3 juillet 2008

Bonjour,

Oui naturellement Beep joue sur le PC speaker.
Oui tu peux jouer de la musique dans tes HP, mais il faudra aller taper dans les API en relation avec MIDI, comme midiOutOpen, midiOutShortMsg, midiOutClose.
Il doit bien yavoir des samples dans le coin :)

Gérôme GUILLEMIN
Auteur du langage FBSL
Messages postés
206
Date d'inscription
lundi 22 novembre 1999
Statut
Membre
Dernière intervention
3 juillet 2008

Re,

Essayes ceci :

Private Declare Function midiOutClose Lib "winmm.dll" (ByVal hMidiOut As Long) As Long
Private Declare Function midiOutOpen Lib "winmm.dll" (lphMidiOut As Long, ByVal uDeviceID As Long, ByVal dwCallback As Long, ByVal dwInstance As Long, ByVal dwFlags As Long) As Long
Private Declare Function midiOutShortMsg Lib "winmm.dll" (ByVal hMidiOut As Long, ByVal dwMsg As Long) As Long
Dim hMidiOut As Long
Private Sub Form_Load()
    Dim T As Long
    midiOutOpen hMidiOut, 0, 0, 0, 0
    midiOutShortMsg hMidiOut, 6567325
    T = Timer
    Do:  DoEvents: Loop Until Timer > T + 4
    midiOutClose hMidiOut
End Sub


Gérôme GUILLEMIN
Auteur du langage FBSL
Messages postés
45
Date d'inscription
lundi 10 septembre 2007
Statut
Membre
Dernière intervention
19 mai 2008

Bonjour!

J'ai essailler ton code et il semble y avoir deux petites erreurs. Premierement dans la ligne :

T = Timer

timer n'est pas déclarer alors cela crée une erreur. j'ai ajouter dim timer mais je doute que se sois la solution au probleme :P Emsuite dans la ligne :

Do:  DoEvents: Loop Until Timer > T + 4

Vb me dit que DoEvents n'est pas déclarer. Que fais pour regler c'est deux problemes? Merci :)
Messages postés
206
Date d'inscription
lundi 22 novembre 1999
Statut
Membre
Dernière intervention
3 juillet 2008

Désolé, mais ce code là fonctionne nickel sous : VB5, VB6, Excel 97 et Excel 2003 ( testé à l'instant ! )

Gérôme GUILLEMIN
Auteur du langage FBSL
Messages postés
45
Date d'inscription
lundi 10 septembre 2007
Statut
Membre
Dernière intervention
19 mai 2008

Ah ok désoler je suis sur VB.net. (oublié de mentioné...) Une idée pour une code en .net?
Messages postés
206
Date d'inscription
lundi 22 novembre 1999
Statut
Membre
Dernière intervention
3 juillet 2008

Oublié de préciser... à toi de le porter :)

Gérôme GUILLEMIN
Auteur du langage FBSL
Messages postés
45
Date d'inscription
lundi 10 septembre 2007
Statut
Membre
Dernière intervention
19 mai 2008

J'ai quand meme posté dans la section VB 2005, VB.net mais bon.. Quelqu'un a une idée pour résoudre mon probleme?
Messages postés
206
Date d'inscription
lundi 22 novembre 1999
Statut
Membre
Dernière intervention
3 juillet 2008

Bonjour,

Oui, il y a la touche F1 et index de l'aide pour regarder quel est l'include qu'il faut mettre pour avoir un equivalent de Timer (qui à mon avis serait surement proche de ce nom là ).
Estimes toi déjà heureux d'avoir eu du code de posté, car si tu lis bien la charte du site, il est clairement indiqué qu'il ne faut pas forcement espérer du code en retour de la part des personnes.


Gérôme GUILLEMIN
Auteur du langage FBSL