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.483 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 ![]() Manfred Bohn IndexOf für mehrdimensionale Arrays Die generische Funktion "IndexOf" ermittelt das erste Auftreten eines bestimmten Wertes in einem n-dimensionalen Array 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. |