Créer une fréquence

ninja hacker Messages postés 45 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 19 mai 2008 - 19 oct. 2007 à 00:40
GEDDi Messages postés 206 Date d'inscription lundi 22 novembre 1999 Statut Membre Dernière intervention 3 juillet 2008 - 21 oct. 2007 à 12:57
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

GEDDi Messages postés 206 Date d'inscription lundi 22 novembre 1999 Statut Membre Dernière intervention 3 juillet 2008
19 oct. 2007 à 10:03
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
0
GEDDi Messages postés 206 Date d'inscription lundi 22 novembre 1999 Statut Membre Dernière intervention 3 juillet 2008
19 oct. 2007 à 10:04
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
0
ninja hacker Messages postés 45 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 19 mai 2008
20 oct. 2007 à 14:44
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 :)
0
GEDDi Messages postés 206 Date d'inscription lundi 22 novembre 1999 Statut Membre Dernière intervention 3 juillet 2008
20 oct. 2007 à 14:48
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ninja hacker Messages postés 45 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 19 mai 2008
20 oct. 2007 à 15:22
Ah ok désoler je suis sur VB.net. (oublié de mentioné...) Une idée pour une code en .net?
0
GEDDi Messages postés 206 Date d'inscription lundi 22 novembre 1999 Statut Membre Dernière intervention 3 juillet 2008
20 oct. 2007 à 16:31
Oublié de préciser... à toi de le porter :)

Gérôme GUILLEMIN
Auteur du langage FBSL
0
ninja hacker Messages postés 45 Date d'inscription lundi 10 septembre 2007 Statut Membre Dernière intervention 19 mai 2008
20 oct. 2007 à 23:07
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?
0
GEDDi Messages postés 206 Date d'inscription lundi 22 novembre 1999 Statut Membre Dernière intervention 3 juillet 2008
21 oct. 2007 à 12:57
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
0
Rejoignez-nous