Deklaration: Declare Function PlaySound Lib "winmm.dll" _ Alias "PlaySoundA" ( _ lpszName As Any, _ ByVal hModule As Long, _ ByVal dwFlags As Long) As Long
Parameter:
Const SND_ALIAS = &H10000 ' der angegebene Name muss ein Eintrag aus der WIn.ini unter [Sounds] sein Const SND_ALIAS_ID = &H110000 ' der angegebene Name muss ein Key aus der Win.ini unter [Sounds] sein Const SND_APPLICATION = &H80 ' der angegebene Name ist ein Ereignissound Const SND_ASYNC = &H1 ' stoppt die Wiedergabe aller Sounddateien um diese abzuspielen Const SND_FILENAME = &H20000 ' der angegebene Name ist ein Pfad zu einer Wave-Datei Const SND_LOOP = &H8 ' wiederholt unendlich oft die Wiedergabe Const SND_MEMORY = &H4 ' der angegebene Name ist ein Byte Array mit den Wave-Datei-Daten Const SND_NODEFAULT = &H2 ' spielt keinen Standardsound ab, wenn die angegebene Datei nicht gefunden wird Const SND_NOSTOP = &H10 ' stoppt keine momentan laufenden Sounds Const SND_NOWAIT = &H2000 ' wartet nicht auf das Beenden des laufenden Sounds um dann den angegebenen Sound abzuspielen Const SND_PURGE = &H40 ' Stoppt die unendliche Wiedergabe der Sounds, die mit SND_LOOP eingeleitet wurde Const SND_RESOURCE = &H40004 ' der angegebene Name ist der Name einer Ressource in der sich die Wave-Datei ' befindet, hierfür muss hModule das Modul Handle der Anwendung bekommen ' die die Ressource besitzt Const SND_SYNC = &H0 ' die Funktion kehrt erst nach Beenden der Wiedergabe des Sounds zurück
Beispiel: Private Declare Function PlaySound Lib "winmm.dll" _ Alias "PlaySoundA" ( _ lpszName As Any, _ ByVal hModule As Long, _ ByVal dwFlags As Long) As Long Private Declare Function GetModuleHandle Lib "kernel32" _ Alias "GetModuleHandleA" ( _ ByVal lpModuleName As String) As Long Private Const SND_ALIAS = &H10000 ' der angegebene Name muss ein Eintrag aus der ' WIn.ini unter [Sounds] sein Private Const SND_ALIAS_ID = &H110000 ' der angegebene Name muss ein Key aus der ' Win.ini unter [Sounds] sein Private Const SND_APPLICATION = &H80 ' der angegebene Name ist ein Ereignissound Private Const SND_ASYNC = &H1 ' Stoppt die Wiedergabe aller Sounddateien, um diese abzuspielen Private Const SND_FILENAME = &H20000 ' der angegebene Name ist ein Pfad zu einer ' Wave-Datei Private Const SND_LOOP = &H8 ' wiederholt unendlich oft die Wiedergabe Private Const SND_MEMORY = &H4 ' der angegebene Name ist ein Byte Array mit den ' Wave-Datei-Daten Private Const SND_NODEFAULT = &H2 ' spielt keinen Standardsound ab wenn die ' angegebene Datei nicht gefunden wird Private Const SND_NOSTOP = &H10 ' stoppt keine momentan laufenden Sounds Private Const SND_NOWAIT = &H2000 ' wartet nicht auf das Beenden des laufenden Sounds ' um dann den angegebenen Sound abzuspielen Private Const SND_PURGE = &H40 ' stoppt die unendliche Wiedergabe der Sounds, die mit ' SND_LOOP eingeleitet wurde Private Const SND_RESOURCE = &H40004 ' der angegebene Name ist der Name einer ' Ressource in der sich die Wave-Datei befindet, hierfür muss hModule das ' Modul-Handle der Anwendung bekommen, die die Ressource besitzt Private Const SND_SYNC = &H0 ' die Funktion kehrt erst nach Beenden der Wiedergabe ' des Sounds zurück ' Tata direkt aus der Datei abspielen, ohne auf Beenden des Sounds zu warten Private Sub Command1_Click() Dim Retval As Long ' spielt den Sound ab und bricht den Vorgang ab, wenn diese Funktion erneut ' aufgerufen wird, bevor der Sound komplett abgespielt wurde Retval = PlaySound(ByVal "c:\windows\media\tada.wav", 0&, SND_ASYNC Or _ SND_FILENAME Or SND_NODEFAULT) End Sub ' Tata aus einer Variable abspielen Private Sub Command2_Click() Dim Retval As Long, FFile As Long, MemWav() As Byte ' öffnen der Datei und übertragen in MemWav FFile = FreeFile Open "c:\windows\media\tada.wav" For Binary As FFile ReDim MemWav(LOF(FFile)) Get FFile, , MemWav() Close FFile ' abspielen von Tata aus dem Speicher und auf Beenden des Sounds warten Retval = PlaySound(MemWav(0), 0&, SND_MEMORY Or SND_NODEFAULT) End Sub ' Tata aus der Ressource abspielen (funktioniert nicht in der IDE) Private Sub Command3_Click() Dim Retval As Long, hModule As Long ' Modulhandle der Anwendung ermitteln hModule = GetModuleHandle(App.EXEName) ' Sound abspielen, aber bei erneutem Aufruf den momentan laufenden Sound ' nicht abbrechen Retval = PlaySound(ByVal "Tata", hModule, SND_RESOURCE Or SND_NOSTOP Or _ SND_ASYNC Or SND_NODEFAULT) If Retval = 0 Then MsgBox "Das Programm wird in der IDE ausgeführt oder die Ressource mit _ dem Titel ""Tata"" wurde nicht gefunden.", vbInformation, "Achtung" End If End Sub ' Tata anhand des systemweiten Alias Strings abspielen falls vorhanden (Tata ist in ' der Regel der Sound der erklingt wenn Windows beendet wird.) Private Sub Command4_Click() Dim Retval As Long ' spielt den Sound ab und bricht den Vorgang ab, wenn diese Funktion erneut ' aufgerufen wird, bevor der Sound komplett abgespielt wurde Retval = PlaySound(ByVal "SystemExit", 0&, SND_ASYNC Or SND_APPLICATION Or SND_NODEFAULT) End Sub Diese Seite wurde bereits 21.924 mal aufgerufen. |
Neu! sevDTA 3.0 Pro SEPA mit Kontonummernprüfung Erstellen von SEPA-Dateien mit integriertem BIC-Verzeichnis und Konto- nummern-Prüfverfahren, so dass ungültige Bankdaten bereits im Vorfeld ermittelt werden können. Buchempfehlung Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |