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.955 mal aufgerufen. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Buchempfehlung Tipp des Monats Mai 2024 Hermann Röttger Wochentage eines Datumsbereichs ermitteln Wochentage eines Datumsbereichs ermitteln, optional mit Feiertagsberechnung Neu! sevCoolbar 3.0 Professionelle Toolbars im modernen Design! Mit sevCoolbar erstellen Sie in wenigen Minuten ansprechende und moderne Toolbars und passen diese optimal an das Layout Ihrer Anwendung an (inkl. große Symbolbibliothek) - für VB und MS-Access |
||||||||||||||||
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. |