So hier mal ein TUT wie man den Piezo (kleiner lautsprecher am PC der auch beim booten piepst) beepen lassen kann.
-Neue peorjekt erstellen
Hier die Dekleration für die ASPI funktion:
Private Declare Function Beep Lib "kernel32" _
(ByVal dwFreq As Long, ByVal dwDuration As Long) _
As Long
Um nun den Piezo Beepen lassen zu können benötigt man volgenden code:
Beep "Frequenz", "länge"
Also für ein kurzes A (kammerton a 220 Hertz) bracht man das:
Beep 220, 100
So kann man klimpern lassen wie man will. Wen man mit einem button die tonleiter spielen will sieht das so aus:
Private Sub Command1_Click()
Beep 132, 100
Beep 148, 100
Beep 165, 100
Beep 176, 100
Beep 198, 100
Beep 220, 100
Beep 247, 100
Beep 264, 100
Beep 297, 100
Beep 330, 100
Beep 352, 100
Beep 396, 100
Beep 440, 100
Beep 494, 100
Beep 528, 100
Beep 494, 100
Beep 440, 100
Beep 396, 100
Beep 352, 100
Beep 330, 100
Beep 297, 100
Beep 264, 100
Beep 247, 100
Beep 220, 100
Beep 198, 100
Beep 176, 100
Beep 165, 100
Beep 148, 100
Beep 132, 100
End Sub
Hier konnten jedoch die töne nicht genau getroffen werden da mache töne ein Komma in ihrer Frequenz hatten.
Wichtig: Das Programm hat erst wieder die kontrolle über den lautspecher, wenn die Tonlänge abgelaufen ist
PS:
Hier mal ne liste mit allen tönen in G-Dur:
c d e f g a h c
132 148,5 165 176 198 220 247,5 264