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.065 mal aufgerufen. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. 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 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. |