SoundSetWaveVolume reagiert nicht

  • ich habe neulich mein script "umformuliert" und seitdem funktionirt die lautstärkrreglung nicht mehr kann mir jmd sagen wießo?
    vg
    JuraX

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #include <GDIPlus.au3>
    #include <Bass.au3>
    #include <_GetFilesFolder_Rekursiv.au3>
    #include <GuiListView.au3>
    #include <Misc.au3>
    #include <BassConstants.au3>
    #include <WindowsConstants.au3>
    #include <ListViewConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StructureConstants.au3>
    #include <WinAPI.au3>
    #include <GDIPlusConstants.au3>
    #include <basstags.au3>
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Icon=INRadio Entwicklungs-umgebung\INRadio.ico
    #AutoIt3Wrapper_Outfile=Localtuner.exe
    #AutoIt3Wrapper_Res_Fileversion=2.0.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=JuraX
    #AutoIt3Wrapper_Res_Language=1031
    #AutoIt3Wrapper_Res_Field=ProductVersion|2.0
    #AutoIt3Wrapper_Run_Au3check=n
    #AutoIt3Wrapper_Run_Tidy=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
    ;===================================================================================================
    ; INRadio-Localtuner by JuraX
    ;===================================================================================================

    [/autoit] [autoit][/autoit] [autoit]

    #Region StartUp
    Global Const $WM_DROPFILESplay = 0x0233
    Global Const $WM_DROPFILES = 0x0233
    Global $gaDropFiles[1]
    Global $aItem[2]
    Global $playing_state = -1
    Global $MusicHandle
    Global $titelnummer = 0
    Global $progress_slider, $slots, $hwnd
    Global $fftstruct = DllStructCreate("float[128]")
    Global $song_length = _BASS_ChannelGetLength($MusicHandle, $BASS_POS_BYTE)
    Global $tags
    Global $ARRPLAY

    [/autoit] [autoit][/autoit] [autoit]

    #Region OPT
    Opt("TrayMenuMode", 1)
    Opt("MouseCoordMode", 0)
    #EndRegion OPT

    [/autoit] [autoit][/autoit] [autoit]

    #Region Tray
    $uottray = TrayCreateItem("Anzeigen")
    $totray = TrayCreateItem("Verstecken")
    $deleate = TrayCreateItem("Schließen")
    TraySetState()
    #EndRegion Tray

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    ;Bass StartUp
    _BASS_STARTUP(@ScriptDir & "\sys\BASS.dll")
    _Bass_Tags_Startup(@ScriptDir & "\sys\BassTags.dll")
    _BASS_Init(0, -1, 44100, 0, "")

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If @error Then
    MsgBox(0, "Error", "Sound konnte nicht Initialisiert werden!")
    Exit
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    #Region Register
    If IsDeclared("Musichandle") Then
    AdlibRegister("tagout", 3000)
    EndIf
    AdlibRegister("Aktualisieren")
    GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY")
    GUIRegisterMsg($WM_DROPFILES, 'WM_DROPFILES_FUNC')

    [/autoit] [autoit][/autoit] [autoit]

    #EndRegion Register

    [/autoit] [autoit][/autoit] [autoit]

    #EndRegion StartUp

    [/autoit] [autoit][/autoit] [autoit]

    #Region GUI

    [/autoit] [autoit][/autoit] [autoit]

    _GDIPlus_Startup()

    [/autoit] [autoit][/autoit] [autoit]

    $Width = 380
    $Height = 650
    Global $hwnd = GUICreate("INRadio-Localtuner", $Width, $Height, -1, -1, Default, $WS_EX_ACCEPTFILES)
    $TITART = GUICtrlCreateLabel("", 130, 220, 500, 70)
    $slots = GUICtrlCreateLabel(GUICtrlRead($progress_slider), 8, 8, 150, 17)
    $Close = GUICtrlCreateButton("Close", 296, 160, 75, 25, 0)
    $PlayPause = GUICtrlCreateButton("Play|Pause", 216, 160, 75, 25, 0)
    $Stop = GUICtrlCreateButton("Stop", 136, 160, 75, 25, 0)
    $newfile = GUICtrlCreateButton("Andere Datei", 36, 160, 75, 25, 0)
    $progress_slider = GUICtrlCreateProgress(8, 32, 236, 20)
    $ordner = GUICtrlCreateButton("Neue Bibliothek", 136, 330)
    GUICtrlCreateLabel("Lautstärke", 8, 190, 80, 20)
    $Slider1 = GUICtrlCreateSlider(8, 250, 366, 30)
    $hListView = GUICtrlCreateListView('Dateiname|Pfad', 10, 375, 350, 200)
    GUICtrlSetLimit($progress_slider, 100)
    GUICtrlSetData($Slider1, 50)
    SoundSetWaveVolume(50)
    $soundprogress = GUICtrlCreateProgress(8, 280, 366, 30)
    $Playliste = GUICtrlCreateButton("Playliste abspielen", 20, 330)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    #Region BIB Füllen

    [/autoit] [autoit][/autoit] [autoit]

    $return = IniRead(@ScriptDir & "\INRadio.ini", "Load", "BIB", "")
    If $return = "" Then
    $return = 'C:\Users\' & @UserName & '\Desktop'
    EndIf
    $returnputin = _GetFilesFolder_Rekursiv($return, "mp3", 0)
    For $i = 1 To $returnputin[0]
    $dateiname = StringSplit($returnputin[$i], "\")
    GUICtrlCreateListViewItem($dateiname[$dateiname[0]] & "|" & $returnputin[$i], $hListView)
    Next
    #EndRegion BIB Füllen

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    $rightVol = GUICtrlCreateProgress(8, 88, 236, 17)
    GUICtrlSetLimit(-1, 100, 0)
    GUICtrlCreateLabel("Right Channel Volume Level", 8, 112, 150, 17)
    $LeftVol = GUICtrlCreateProgress(8, 136, 236, 17)
    GUICtrlSetLimit(-1, 100, 0)
    GUICtrlCreateLabel("Left Channel Volume Level", 8, 64, 150, 17)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    GUISetState()
    #EndRegion GUI

    [/autoit] [autoit][/autoit] [autoit]

    #Region GDIstartup
    _GUICtrlListView_SetColumnWidth($hListView, 0, $LVSCW_AUTOSIZE)
    $iX = 120
    $iY = 145
    $graphics = _GDIPlus_GraphicsCreateFromHWND($hwnd)
    $bitmap = _GDIPlus_BitmapCreateFromGraphics($iX, $iY, $graphics)
    $backbuffer = _GDIPlus_ImageGetGraphicsContext($bitmap)
    _GDIPlus_GraphicsClear($backbuffer)
    $pen1_size = 4
    $pen1 = _GDIPlus_PenCreate(0, $pen1_size)
    $pen2_size = 4
    $pen2 = _GDIPlus_PenCreate(0, $pen2_size)
    $pen3_size = 3
    $pen3 = _GDIPlus_PenCreate(0, $pen3_size)

    [/autoit] [autoit][/autoit] [autoit]

    $fall_speed_l_threshold = 0
    $fall_speed_r_threshold = 0
    $equalizer_width = 24
    $max_l = 0
    $max_r = 0
    $fall_speed = 5
    $fire_up = 15

    [/autoit] [autoit][/autoit] [autoit]

    $fft_start = 7
    $fft_end = 127
    $fft_boost = 750
    $dy = Int($iY / ($fft_end - $fft_start)) + $pen3_size
    $dyy = Int($iY / $dy / 2)
    $eq = 1
    Dim $mpos[2]
    #EndRegion GDIstartup

    [/autoit] [autoit][/autoit] [autoit]

    #Region Loop

    [/autoit] [autoit][/autoit] [autoit]

    While (True)
    $selectcode = _GUICtrlListView_GetSelectedCount($hListView)
    If _IsPressed("2E") Then
    _GUICtrlListView_DeleteItemsSelected($hListView)
    EndIf
    _GUICtrlListView_SetColumnWidth($hListView, 1, 0)
    $soundoff = _SoundGetWaveVolume()
    GUICtrlSetData($soundprogress, $soundoff)
    If $playing_state = 1 Then
    $song_length = _BASS_ChannelGetLength($MusicHandle, $BASS_POS_BYTE)
    $current = _BASS_ChannelGetPosition($MusicHandle, $BASS_POS_BYTE)
    $percent = Round(($current / $song_length) * 100, 0)
    ConsoleWrite("MH: " & $MusicHandle & " Current: " & $current & " song_length: " & $song_length & @CRLF)
    GUICtrlSetData($progress_slider, $percent)
    $levels = _BASS_ChannelGetLevel($MusicHandle)
    $rightChLvl = _LoWord($levels)
    $rightChLvlper = Round(($rightChLvl / 32768) * 100, 0)
    $LeftChLvl = _HiWord($levels)
    $leftChLvlper = Round(($LeftChLvl / 32768) * 100, 0)
    If IsArray($ARRPLAY) Then
    If $current = $song_length Then
    GUICtrlSetData($progress_slider, 0)
    If $playing_state = 1 Then
    _BASS_ChannelStop($MusicHandle)
    EndIf
    $titelnummer += 1
    If $titelnummer = UBound($ARRPLAY) - 1 Then $titelnummer = 0
    ; Sleep (50)
    $playing_state = 1
    $MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer][1], 0, 0, 0)
    _BASS_ChannelPlay($MusicHandle, 0)
    EndIf
    EndIf
    Else
    $rightChLvlper = 0
    $leftChLvlper = 0
    EndIf
    GUICtrlSetData($rightVol, $rightChLvlper)
    GUICtrlSetData($LeftVol, $leftChLvlper)
    Display_Vis($eq)

    [/autoit] [autoit][/autoit] [autoit]

    $Msg = GUIGetMsg()
    $tmsg = TrayGetMsg()
    Switch $tmsg

    [/autoit] [autoit][/autoit] [autoit]

    Case $uottray
    GUISetState(@SW_SHOW)
    Case $totray
    GUISetState(@SW_HIDE)
    Case $deleate
    EXITF()
    EndSwitch
    Switch $Msg

    [/autoit] [autoit][/autoit] [autoit]

    Case $Close, $GUI_EVENT_CLOSE
    EXITF()
    Case $PlayPause
    If $playing_state = 1 Then
    _Bass_ChannelPause($MusicHandle)
    $playing_state = 2
    ElseIf $playing_state = 2 Then
    _BASS_ChannelPlay($MusicHandle, 0)
    $playing_state = 1
    EndIf
    Case $Stop
    If $playing_state = 1 Then
    _BASS_ChannelStop($MusicHandle)
    $playing_state = -1
    EndIf
    $ARRPLAY = 0
    Sleep(50)
    Case $newfile
    If $playing_state = 1 Then
    _BASS_ChannelStop($MusicHandle)
    EndIf
    $ARRPLAY = 0
    Sleep(50)
    $file = FileOpenDialog("Open...", "", "MP3 Files (*.mp3)")
    $MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
    _BASS_ChannelPlay($MusicHandle, 0)
    $playing_state = 1
    Case $ordner
    $var = FileSelectFolder("Ordner wählen", "")
    IniWrite(@ScriptDir & "\INRadio.ini", "Load", "BIB", $var)
    $returnputin = _GetFilesFolder_Rekursiv($var, "mp3", 0)
    For $i = 1 To $returnputin[0]
    $dateiname = StringSplit($returnputin[$i], "\")
    GUICtrlCreateListViewItem($dateiname[$dateiname[0]] & "|" & $returnputin[$i], $hListView)
    Next
    Case $Playliste
    If $playing_state = 1 Then
    _BASS_ChannelStop($MusicHandle)
    EndIf
    $Read = GUICtrlRead($hListView)
    If $Read = "" Then
    $ARRPLAY = _ListViewToArray($hListView)
    $playing_state = 1
    $MusicHandle = _BASS_StreamCreateFile(False, $ARRPLAY[$titelnummer][1], 0, 0, 0)
    _BASS_ChannelPlay($MusicHandle, 0)
    Else
    $Read -= 16
    Local $sString = ""
    For $i = $Read To _GUICtrlListView_GetItemCount($hListView) - 1
    $sString &= _GUICtrlListView_GetItemTextString($hListView, $i)
    $sString &= ";"
    Next
    $aSplit = StringSplit(StringTrimRight($sString, 1), ";", 2)
    $iUB1 = UBound($aSplit)
    Dim $anext[$iUB1][1]
    For $i = 0 To $iUB1 - 1
    $aSplit2 = StringSplit($aSplit[$i], "|", 2)
    $iUB2 = UBound($aSplit2)
    If $iUB2 > UBound($anext, 2) Then ReDim $anext[$iUB1][$iUB2]
    For $j = 0 To $iUB2 - 1
    $anext[$i][$j] = $aSplit2[$j]
    Next
    Next
    $ARRPLAY = $anext
    $playing_state = 1
    $MusicHandle = _BASS_StreamCreateFile(False, $anext[$titelnummer][1], 0, 0, 0)
    _BASS_ChannelPlay($MusicHandle, 0)
    EndIf
    Case $GUI_EVENT_DROPPED
    For $i = 0 To UBound($gaDropFiles) - 1
    GUICtrlCreateListViewItem(StringRegExpReplace($gaDropFiles[$i], '.*\\(.*)\..*', '$1'), $hListView)
    _GUICtrlListView_SetColumnWidth($hListView, 0, $LVSCW_AUTOSIZE)
    Next
    Case $GUI_EVENT_PRIMARYDOWN
    _MoveListViewItem()
    Case $Slider1 ;<=============== Hier soll die lautstärke geregelt werden
    $NV = GUICtrlRead($Slider1)
    SoundSetWaveVolume($NV)
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    #EndRegion Loop
    $mpos = MouseGetPos()
    If $mpos[0] >= $Width - $iX - 10 And $mpos[0] <= $Width - 10 And $mpos[1] > 8 And $mpos[1] <= $iY + 8 And _IsPressed("01", "user32.dll") And WinActive($hwnd) Then
    $eq *= -1
    EndIf
    #Region Func's

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_DROPFILES_FUNC($hwnd, $msgID, $wParam, $lParam) ; diese Funktion wird benötigt, damit man auch mehrere Dateien droppen kann
    Local $nSize, $pFileName
    Local $nAmt = DllCall('shell32.dll', 'int', 'DragQueryFileW', 'hwnd', $wParam, 'int', 0xFFFFFFFF, 'ptr', 0, 'int', 255)
    For $i = 0 To $nAmt[0]
    $nSize = DllCall('shell32.dll', 'int', 'DragQueryFileW', 'hwnd', $wParam, 'int', $i, 'ptr', 0, 'int', 0)
    $nSize = $nSize[0] + 1
    $pFileName = DllStructCreate('wchar[' & $nSize & ']')
    DllCall('shell32.dll', 'int', 'DragQueryFileW', 'hwnd', $wParam, 'int', $i, 'ptr', DllStructGetPtr($pFileName), 'int', $nSize)
    $filename = DllStructGetData($pFileName, 1) ;Dateinamen holen
    ConsoleWrite($filename & @CRLF)
    ReDim $gaDropFiles[$i + 1]
    $gaDropFiles[$i] = DllStructGetData($pFileName, 1)
    $pFileName = 0
    Next
    ;_ArrayDisplay($gaDropFiles)
    For $i = 0 To UBound($gaDropFiles) - 2 ;kommt derzeit immer noch ein leerer Eintrag am schluss
    GUICtrlCreateListViewItem(StringRegExpReplace($gaDropFiles[$i], '.*\\(.*)\..*', '$1') & "|" & $gaDropFiles[$i], $hListView)
    Next
    _GUICtrlListView_SetColumnWidth($hListView, 0, $LVSCW_AUTOSIZE) ;erst wenn alle eigefügt sind
    EndFunc ;==>WM_DROPFILES_FUNC

    [/autoit] [autoit][/autoit] [autoit]

    Func Aktualisieren()
    $Sliderstatus = GUICtrlRead($progress_slider)
    GUICtrlSetData($slots, $Sliderstatus)
    EndFunc ;==>Aktualisieren

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_NOTIFY($hwnd, $msgID, $wParam, $lParam);Für Doppelcklick Erkennung
    Local $tagNMHDR, $event, $hwndFrom, $code
    $tagNMHDR = DllStructCreate("int;int;int", $lParam)
    If @error Then Return 0
    $code = DllStructGetData($tagNMHDR, 3)
    If $wParam = $hListView And $code = -3 And _GUICtrlListView_GetSelectedCount($hListView) > 0 Then
    For $i = 0 To _GUICtrlListView_GetItemCount($hListView)
    If _GUICtrlListView_GetItemSelected($hListView, $i) Then
    $aItem = _GUICtrlListView_GetItemTextArray($hListView, $i)
    ;~ In aItem[1] steht der Dateiname und in $aItem[2] der Pfad zincl. Dateinamen
    _LeftDblClick()
    EndIf
    Next
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_NOTIFY

    [/autoit] [autoit][/autoit] [autoit]

    Func _LeftDblClick()
    If $playing_state = 1 Then
    _BASS_ChannelStop($MusicHandle)
    EndIf
    $titelnummer = -1
    $file = $aItem[2]
    $MusicHandle = _BASS_StreamCreateFile(False, $file, 0, 0, 0)
    _BASS_ChannelPlay($MusicHandle, 0)
    $playing_state = 1
    EndFunc ;==>_LeftDblClick

    [/autoit] [autoit][/autoit] [autoit]

    Func Display_Vis($eq = 1)
    _GDIPlus_GraphicsClear($backbuffer, 0x80F0F0F0)
    If $eq > 0 Then
    $levels = _BASS_ChannelGetLevel($MusicHandle)
    $LeftChLvl = $leftChLvlper ;Round(_HiWord($levels) / $iY, 0)
    $rightChLvl = $rightChLvlper ;Round(_LoWord($levels) / $iY, 0)

    [/autoit] [autoit][/autoit] [autoit]

    If $max_l <= $LeftChLvl Then ;fire up higest line
    $max_l = $LeftChLvl + $fire_up
    $fall_speed_l_threshold = 20
    Else
    If $fall_speed_l_threshold <= 0 Then ;increase fall speed of highest line faster until threshold is <= 0 (second fall part)
    If $max_l > $LeftChLvl + $pen2_size * 2 Then $max_l -= $fall_speed
    Else
    $fall_speed_l_threshold -= 1 ;increase fall speed of highest line by slower until threshold is <= 0 (first fall part)
    If $max_l > $LeftChLvl + $pen2_size * 2 Then $max_l -= $fall_speed / 3
    EndIf
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    If $max_r <= $rightChLvl Then
    $max_r = $rightChLvl + $fire_up
    $fall_speed_r_threshold = 20
    Else
    If $fall_speed_r_threshold <= 0 Then
    If $max_r > $rightChLvl + $pen2_size * 2 Then $max_r -= $fall_speed
    Else
    $fall_speed_r_threshold -= 1
    If $max_r > $rightChLvl + $pen2_size * 2 Then $max_r -= $fall_speed / 3
    EndIf
    EndIf
    _BASS_ChannelGetData($MusicHandle, DllStructGetPtr($fftstruct), $BASS_DATA_FFT256)
    For $i = $fft_start To $fft_end Step $dy
    $fft = Round(DllStructGetData($fftstruct, 1, $i + 1) * $fft_boost)
    $r = (-(Cos(1.7 * $fft / 256) + 1) * 0.5) * 256
    $g = ((Cos(4 * $fft / 256) + 1) * 0.5) * 256
    $b = 0
    _GDIPlus_PenSetColor($pen3, "0xFF" & Hex($r, 2) & Hex($g, 2) & Hex($b, 2))
    _GDIPlus_GraphicsDrawLine($backbuffer, $iX / 5, $i + $dyy, $iX / 5 + $fft, $i + $dyy, $pen3)
    Next
    EndIf
    _GDIPlus_GraphicsDrawImageRect($graphics, $bitmap, $Width - $iX - 10, 8, $iX, $iY)
    EndFunc ;==>Display_Vis

    [/autoit] [autoit][/autoit] [autoit]

    Func _SoundGetWaveVolume()
    Local $WaveVol = -1, $p, $ret
    Const $MMSYSERR_NOERROR = 0
    $p = DllStructCreate("dword")
    If @error Then
    SetError(2)
    Return -2
    EndIf
    $ret = DllCall("winmm.dll", "long", "waveOutGetVolume", "long", -1, "long", DllStructGetPtr($p))
    If ($ret[0] == $MMSYSERR_NOERROR) Then
    $WaveVol = Round(Dec(StringRight(Hex(DllStructGetData($p, 1), 8), 4)) / 0xFFFF * 100)
    Else
    SetError(1)
    EndIf
    $p = ""
    Return $WaveVol
    EndFunc ;==>_SoundGetWaveVolume

    [/autoit] [autoit][/autoit] [autoit]

    Func EXITF()
    _BASS_Stop()
    _BASS_Free()
    _GDIPlus_PenDispose($pen1)
    _GDIPlus_PenDispose($pen2)
    _GDIPlus_PenDispose($pen3)
    _GDIPlus_BitmapDispose($bitmap)
    _GDIPlus_GraphicsDispose($graphics)
    _GDIPlus_GraphicsDispose($backbuffer)
    _GDIPlus_Shutdown()
    _GDIPlus_Shutdown()
    $fftstruct = 0
    ProcessClose("Radiotuner.exe")
    AdlibUnRegister("Aktualisieren")
    Exit
    EndFunc ;==>EXITF

    [/autoit] [autoit][/autoit] [autoit]

    Func _ListViewToArray($hListView)
    If Not IsHWnd($hListView) Then $hListView = GUICtrlGetHandle($hListView)
    Local $sString = ""
    For $i = 0 To _GUICtrlListView_GetItemCount($hListView) - 1
    $sString &= _GUICtrlListView_GetItemTextString($hListView, $i)
    $sString &= ";"
    Next
    $aSplit = StringSplit(StringTrimRight($sString, 1), ";", 2)
    $iUB1 = UBound($aSplit)
    Dim $aRet[$iUB1][1]
    For $i = 0 To $iUB1 - 1
    $aSplit2 = StringSplit($aSplit[$i], "|", 2)
    $iUB2 = UBound($aSplit2)
    If $iUB2 > UBound($aRet, 2) Then ReDim $aRet[$iUB1][$iUB2]
    For $j = 0 To $iUB2 - 1
    $aRet[$i][$j] = $aSplit2[$j]
    Next
    Next
    Return $aRet
    EndFunc ;==>_ListViewToArray

    [/autoit] [autoit][/autoit] [autoit]

    Func TAGOUT()
    $tags = _Bass_Tags_Read($MusicHandle, "%TITL" & "-" & "%ARTI")
    If $tags = "" & "-" & "" Then
    GUICtrlSetData($TITART, "Konnte ID3-Tags nicht Lesen!")
    Else
    GUICtrlSetData($TITART, $tags)
    EndIf
    EndFunc ;==>TAGOUT

    [/autoit] [autoit][/autoit] [autoit]

    Func _MoveListViewItem()
    Local $von, $bis, $down = GUIGetCursorInfo($hwnd)

    [/autoit] [autoit][/autoit] [autoit]

    If $down[4] = $hListView Then
    $von = _GUICtrlListView_GetHotItem($hListView)

    [/autoit] [autoit][/autoit] [autoit]

    While $down[2]
    $down = GUIGetCursorInfo($hwnd)
    Sleep(50)
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    If $down[4] = $hListView Then
    $bis = _GUICtrlListView_GetHotItem($hListView)

    [/autoit] [autoit][/autoit] [autoit]

    If Not ($von = $bis) Then
    _MoveLVItem($von, $bis - $von, $hListView)
    _GUICtrlListView_SetItemState($hListView, $bis, 1, 1)
    EndIf
    EndIf
    EndIf
    EndFunc ;==>_MoveListViewItem

    [/autoit] [autoit][/autoit] [autoit]

    Func _MoveLVItem($ItemIndex, $StepWidth, $hLV)
    If ($ItemIndex + $StepWidth) < 0 Or _
    ($ItemIndex + $StepWidth) > _GUICtrlListView_GetItemCount($hLV) - 1 Then
    SetError(1)
    Return 0
    EndIf
    Local $askip = _GUICtrlListView_GetItemTextArray($hLV, $ItemIndex)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    If $StepWidth > 0 Then
    _GUICtrlListView_InsertItem($hLV, $askip[1], $ItemIndex + $StepWidth + 1)
    _GUICtrlListView_SetItemText($hLV, $ItemIndex + $StepWidth + 1, $askip[2], 1)
    _GUICtrlListView_DeleteItem($hLV, $ItemIndex)
    Else
    _GUICtrlListView_InsertItem($hLV, $askip[1], $ItemIndex + $StepWidth)
    _GUICtrlListView_SetItemText($hLV, $ItemIndex + $StepWidth, $askip[2], 1)
    _GUICtrlListView_DeleteItem($hLV, $ItemIndex + 1)
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    Return -1
    EndFunc ;==>_MoveLVItem
    #EndRegion Func's

    [/autoit]
  • Vllt. hast du ein Problem mit deinem Soundtreiber, oder dein Soundtreiber unterstützt diese Funktion nicht.
    Sind zwar nur vermutungen, aber es könnte ein Treiberupdate helfen.
    Ich benutz HD Realtek HD Audio, und bei mir funzt es.
    MfG. PrideRage

    Meine Projekte:
    ClipBoard Manager (beendet)
    Gutes ClipBoard Verwaltungs Programm mit nützlichen Funktionen.

    HTML Creator (beendet)
    Nützliches Tool um schnell ein eigenes HTML Dokument zu erstellen.