Rubrik: Multimedia & Sound · Sonstiges | VB-Versionen: VB4, VB5, VB6 | 15.01.02 |
Beep - nach Lust und Laune :-) Ein Piepser per WinAPI - ob lang kurz hoch oder tief - wie man´s halt grad braucht. | ||
Autor: Dieter Otter | Bewertung: | Views: 40.158 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Jeder kennt sicherlich den netten Piepton einer MsgBox, der auch per VB-Code über die Anweisung Beep ausgelöst werden kann. Der "Piepser" richtet sich hierbei nach der in den System-Einstellungen festgelegten Sounddatei.
Um nun einen anderen Signalton ertönen zu lassen, müssen Sie jetzt nicht erst lange eine passende Sounddatei suchen, vielmehr gibt es hierfür die API-Beep Funktion:
' API-Deklaration Private Declare Function Beep Lib "kernel32" ( _ ByVal dwFreq As Long, _ ByVal dwDuration As Long) As Long
Der erste Paramater gibt die Frequenz in Hertz an. Dieser Wert muss im Bereich 37 und 32.767 liegen. Je höher der Wert, desto höher der Ton! Der zweite Parameter wirkt sich nur unter WinNT/2000/XP aus und bestimmt die Dauer (Länge) des Tons. Je höher der Wert, desto länger wird der Ton abgespielt.
' Beispiel Private Sub Command1_Click() Beep 1000, 50 End Sub
Probieren Sie ruhig einmal verschiedene Hertz-Zahlen aus (Parameter dwFreq). Und wenn Sie Lust haben, dann spielen Sie auf diese Weise sogar die Tonleiter
Wichtig!
Die Beep-Funktion läuft synchron ab, d.h. Ihre Anwendung bekommt erst dann wieder die Kontrolle, wenn der Ton vollständig abgespielt wurde. Je höher der Wert dwDuration, desto länger muss Ihre Anwendung für die noch anstehenden Arbeiten warten.