Beschreibung: Deklaration: Declare Function auxGetVolume Lib "winmm.dll" ( _ ByVal uDeviceID As Long, _ lpdwVolume As Long) As Long Parameter:
Rückgabewert: Const MMSYSERRR_NOERROR = 0 ' Kein Fehler Const MMSYSERR_BASE = 0 ' Basis Konstante Const MMSYSERR_BADDEVICEID = (MMSYSERR_BASE+ 2) ' Falscher Geräte ID Beispiel: Private Declare Function auxGetVolume Lib "winmm.dll" ( _ ByVal uDeviceID As Long, _ lpdwVolume As Long) As Long ' für das zweite Beispiel "CopyMemory" Private Declare Sub CopyMemory Lib "kernel32" _ Alias "RtlMoveMemory" ( _ Destination As Any, _ Source As Any, _ ByVal Length As Long) Const MMSYSERRR_NOERROR = 0 ' Kein Fehler Const MMSYSERR_BASE = 0 ' Basis Konstante Const MMSYSERR_BADDEVICEID = (MMSYSERR_BASE+ 2) ' Falscher Geräte ID ' Beispiel 1: Die Berechnung der Lautstärke des ersten Audiogerätes (Index 0) Private Sub Command1_Click () Dim Retval As Long, AuxReturn As Long Dim RightVol As Long, LeftVol As Long Retval = auxGetVolume(CLng(0), AuxReturn) ' Lautstärke beider Kanäle ermitteln If Retval = MMSYSERR_BADDEVICEID Then MsgBox "Das Audiogerät mit der DeviceID 0 existiert nicht", vbCritical, "Fehler" Exit Sub End If If Retval = MMSYSERR_NOERROR Then LeftVol = Val ("&H" & Hex(AuxReturn And (Not &HFFFF0000))) RightVol = (AuxReturn And &HFFFF0000) / &H10000 Debug.Print "Gerät : 0" If RightVol <> 0 Then ' Falls das Gerät nur einen Monokanal hat Debug.Print "Lautstärke Links: " & LeftVol Debug.Print "Lautstärke Rechts: " & RightVol Else Debug.Print "Lautstärke Links: " & LeftVol End If Debug.Print vbCrLf End If End Sub ' Beispiel 2: Die Berechnung der Lautstärke des ersten Audiogerätes (Index 0) Private Sub Command2_Click () Dim Retval As Long Dim Volume(1) As Integer, AuxReturn As Long Dim RightVol As Long, LeftVol As Long Retval = auxGetVolume(CLng(0), AuxReturn) ' Lautstärke beider Kanäle ermitteln If Retval = MMSYSERR_BADDEVICEID Then MsgBox "Das Audiogerät mit der DeviceID 0 existiert nicht", vbCritical, "Fehler" Exit Sub End If If Retval = MMSYSERR_NOERROR Then CopyMemory Volume(0), AuxReturn, Len(Volume(0)) * 2 LeftVol = Volume(0) RightVol = Volume(1) Debug.Print "Gerät : 0" If RightVol <> 0 Then ' Falls das Gerät nur einen Monokanal hat Debug.Print "Lautstärke Links: " & LeftVol Debug.Print "Lautstärke Rechts: " & RightVol Else Debug.Print "Laustärke: " & LeftVol End If Debug.Print vbCrLf End If End Sub Diese Seite wurde bereits 14.094 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! sevPopUp 2.0 Dynamische Kontextmenüs! Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... |
||||||||||||||
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. |