with this code, the slider bar is set to 63 max, and you can control the volume of the WAVE thing be movin the slide bar. What i'm trying to do is to get it to load what volume the system has (because the slider bar always starts at 0). So why doesn't this work:
Code:Dim q As String, ahgt, ghtr As String Dim id As Long, v As Long, i As Long, lVol As lVolType, Vol As VolType, lv As Double, rv As Double Private Declare Function auxGetVolume Lib "WINMM.DLL" (ByVal uDeviceID As Long, lpdwVolume As Long) As Long Private Declare Function mciGetDeviceID Lib "WINMM.DLL" Alias "mciGetDeviceIDA" (ByVal lpstrName As String) As Long Private Declare Function waveOutGetVolume Lib "WINMM.DLL" (ByVal uDeviceID As Long, lpdwVolume As Long) As Long Private Declare Function waveOutSetVolume Lib "WINMM.DLL" (ByVal uDeviceID As Long, ByVal dwVolume As Long) As Long Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long Private Type lVolType v As Long End Type Private Type VolType lv As Integer rv As Integer End Type Private Sub Form_Load() Dim OldVol As Long Call waveOutGetVolume(deviceID, OldVol) Slider1.Value = OldVol / 1000 End Sub Private Sub Slider1_change() Dim NewVol As Long NewVol = Slider1.Value * 1000 Call waveOutSetVolume(deviceID, NewVol) End Sub




Reply With Quote