NextGenPlayer

  • Nach langem überlegen habe ich mich nun doch dazu entschlossen, meinen kleinen Musikplayer vorzustellen. Nartürlich gibt es davon schon ziemlich viele, aber jeder ist ein bisschen anders und anders ist eben gut. Naja fang ich mal an:

    Funktionen:
    ~ Webradio wiedergeben
    ~ Youtube wiedergeben
    ~ Musik wiedergeben (mp3, wav, wmv, wma und mehr)
    ~ Dauerwiedergabe (Schleife)
    ~ Steuerbar über Tasten (später mehr)
    ~ Steuerbar über Tray (später mehr)
    ~ Einstellungsmöglichkeiten
    #############################
    Tastenbelegung (Standart):
    Numpad +/- | lauter/leiser
    Numpad 8 | Datei öffnen
    Numpad 5 | Play
    Numpad 6 | Stop
    Numpad 4 | Pause
    Numpad 2 | Youtube
    Numpad 3 | Webradio starten
    Numpad 7 | Unsichtbar
    Numpad 9 |Sichtbar
    Alle Tastenbelegungen können unter Settings geändert werden!

    #############################
    Tray-Steuerung:
    [Blockierte Grafik: http://www.abload.de/img/trayi1vu.jpg]
    #############################
    Screenshot:
    [Blockierte Grafik: http://www.abload.de/img/nextgeng4g3.jpg]

    #############################
    Systemvorraussetzungen:
    OS: Win XP/Vista/Seven
    Ram: Keine Vorraussetzungen
    CPU: Keine Vorraussetzungen
    #############################
    Download:
    V 0.1: Klick mich
    #############################

    HINWEIS:
    Die Icons sind NICHT von mir sondern von Dragonsoft (HomePage)
    Ich übernehme keine Verantwortung für Schäden an eurem System/PC!


    Habt Spaß damit :D

    Leon

    4 Mal editiert, zuletzt von Leon (29. Januar 2010 um 22:56)

  • Da ich im Moment eh eine closed Beta hab (V1.1), bei der sich nochmal einiges ändert, stell ich hier mal den alten Code rein.
    Das ganze ist Autoit V3.3

    Spoiler anzeigen
    [autoit]

    #cs ============================
    NextGenPlayer, Autoit Musikplayer
    AutoIt version: 3.3.0.0
    File version: 1.0
    Language: German/Deutsch
    Author: NextGenSoft
    #CE ============================

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

    #include <GUIConstants.au3>
    #include <SliderConstants.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Sound.au3>
    #Include <Constants.au3>
    #include <WindowsConstants.au3>
    #include <wmp.au3>
    #include <ModernMenuRaw.au3>
    #include <ie.au3>
    #include <Array.au3>

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

    #include

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

    Adlibenable('_MoveMarquee', 150)

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

    ;Die GUI (Interface)
    Opt("TrayMenuMode",1)
    Global $file, $sound, $Loop = False, $Video = False
    $Main = GUICreate("NextGenPlayer", 300, 125, 192, 124, -1, $WS_EX_TOOLWINDOW)
    WinSetTrans("NextGenPlayer", "", Filereadline("Settings.conf", 14))
    $FileMenuItem = GUICtrlCreateMenu("&Datei")
    $SettingsItem = GUICtrlCreateMenuItem("&Settings", $FilemenuItem)
    GUICtrlSetTip($FileMenuItem, "Datei Menü")
    $OpenSubMenuItem = GUICtrlCreateMenuItem("&Öffnen...", $FileMenuItem)
    GUICtrlSetTip($OpenSubMenuItem, "Lied öffnen")
    $YoutubeItem = GUICtrlCreateMenuItem("&Youtube", $FileMenuItem)
    $radioSubMenuItem = GUICtrlCreateMenuItem("&Weberadio", $FileMenuItem)
    GUICtrlSetTip($OpenSubMenuItem, "Webradio")
    $CloseSubMenuItem = GUICtrlCreateMenuItem("&Close", $FileMenuItem)
    GUICtrlSetTip($CloseSubMenuItem, "Das momentan Lied schließen")
    $ExitSubMenuItem = GUICtrlCreateMenuItem("&Exit", $FileMenuItem)
    GUICtrlSetTip($ExitSubMenuItem, "NextGenPlayer schliesen")
    $OptionsMenuItem = GUICtrlCreateMenu("&Optionen")
    GUICtrlSetTip($OptionsMenuItem, "Zeigt das Menü an")
    $LoopSubMenuItem = GUICtrlCreateMenuItem("&Wiederholen", $OptionsMenuItem, "", 2)
    GUICtrlSetTip($LoopSubMenuItem, "Lied wiederholen (Schleife)")
    $HelpMenuItem = GUICtrlCreateMenu("&Hilfe")
    GUICtrlSetTip($HelpMenuItem, "Zeigt das Hilfemenü an")
    $AboutSubMenuItem = GUICtrlCreateMenuItem("&About", $HelpMenuItem)
    GUICtrlSetTip($HelpMenuItem, "About Menü")
    $Pos = GUICtrlCreateSlider(0, 0, 300, 35, $TBS_ENABLESELRANGE + $TBS_BOTH + $TBS_AUTOTICKS)
    GUICtrlCreateLabel(0, 0, 290, 30, GUICtrlRead($OpenSubMenuItem))
    GUICtrlSetLimit($Pos, 0, 0)
    GUICtrlSetData($Pos, 0)
    GUICtrlSetState($Pos, $GUI_DISABLE)
    GUICtrlSetTip($Pos, "Position des Liedes")
    $Min = GUICtrlCreateLabel("00:00:00", 10, 40, 45, 17)
    GUICtrlSetTip($Min, "Momentane Position des Liedes")
    $filelabel = GuictrlcreateLabel("", 3, 80, 197, 50)
    $Max = GUICtrlCreateLabel("00:00:00", 249, 40, 45, 17)
    GUICtrlSetTip($Max, "Insgesammte Zeit des Liedes")
    $Play = GUICtrlCreateButton("Play >", 0, 55, 50, 25)
    GUICtrlSetState($Play, $GUI_DISABLE)
    GUICtrlSetTip($Play, "Play")
    $Pause = GUICtrlCreateButton("Pause ||", 55, 55, 50, 25)
    GUICtrlSetState($Pause, $GUI_DISABLE)
    GUICtrlSetTip($Pause, "Pause")
    $Stop = GUICtrlCreateButton("Stopp []", 110, 55, 50, 25)
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetTip($Stop, "Stopp")
    GUICtrlSetTip($HelpMenuItem, "About")
    $playitem = Traycreateitem("Play")
    $pauseitem = TrayCreateItem("Pause")
    $stopitem = TrayCreateItem("Stopp")
    $youtube = TrayCreateItem("Youtube")
    $oIE = _IECreateEmbedded ()
    GUICtrlCreateObj($oIE, -300, -300, 0, 0)
    _TrayItemSetIcon(-1, "", 0)

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

    $openitem = TrayCreateItem("Öffnen...")
    $radioitem = TrayCreateItem("Web-Radio")
    TraySetIcon("Shell32.dll", 41)
    TraySetToolTip(" .::NextGenPlayer::. ")
    TrayTip ( "Player bedienung", "Sie können den Player auch ganz einfach hier unten per Klick steuern.", 5 )
    GUISetIcon("shell32.dll", 41)
    $wmp = _wmpcreate(0, 0, 0, 0, 0);creates object
    $Input1 = GUICtrlCreateInput("Webradio", 176, 55, 60, 21)
    $Input2 = GUICtrlCreateInput("Youtube", 240, 55, 60, 21)
    GUISetState(@SW_SHOW, $Main)

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

    HotKeySet(Filereadline("Settings.conf", 2), "VolUp")
    HotKeySet(Filereadline("Settings.conf", 3), "VolDown")
    HotKeySet(Filereadline("Settings.conf", 4), "Mute")
    HotKeySet(Filereadline("Settings.conf", 5), "play")
    HotKeySet(Filereadline("Settings.conf", 6), "stop")
    HotKeySet(Filereadline("Settings.conf", 7), "pause")
    HotKeySet(Filereadline("Settings.conf", 8), "open")
    HotKeySet(Filereadline("Settings.conf", 9), "radio")
    HotKeySet(Filereadline("Settings.conf", 10), "youtube")
    ;HotKeySet(Filereadline("Settings.conf", 11), "youtubereload")
    HotKeySet(Filereadline("Settings.conf", 11), "revisible")
    HotKeySet(Filereadline("Settings.conf", 12), "Setvisible")

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

    Func Mute()
    Send("{VOLUME_MUTE}")
    EndFunc

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

    Func VolDown()
    Send("{VOLUME_DOWN}")
    EndFunc

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

    Func VolUp()
    Send("{VOLUME_UP}")
    EndFunc

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

    func play ()
    _soundplay($sound)

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

    GUICtrlSetState($Pos, $GUI_ENABLE)
    GUICtrlSetState($Play, $GUI_DISABLE)
    GUICtrlSetState($Pause, $GUI_ENABLE)
    GUICtrlSetState($Stop, $GUI_ENABLE)

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

    Endfunc

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

    func stop ()
    _soundstop($sound)

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

    GUICtrlSetState($Pos, $GUI_DISABLE)
    GUICtrlSetState($Pause, $GUI_DISABLE)
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Play, $GUI_ENABLE)
    GUICtrlSetData($Max, "00:00:00")
    GUICtrlSetLimit($Pos, 0, 0)
    GUICtrlSetData($Pos, 0)

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

    Endfunc

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

    func pause ()
    _SoundPause($sound)

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

    GUICtrlSetState($Pos, $GUI_DISABLE)
    GUICtrlSetState($Pause, $GUI_DISABLE)
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Play, $GUI_ENABLE)

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

    EndFunc

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

    func open ()
    $file = "C://"
    $file = FileOpenDialog("Open...", @MyDocumentsDir & "/", "Sound Files (*.mp3; *.wav; *.wma)| MPEG Layer 3 Audio File (*.mp3)| WAVE Audo File (*.wav)| Windows Media Audio File (*.wma)|Video Files (*.wmv;)| Windows Media Video File (*.wma)|All Supported Files (*.mp3; *.wav; *.wma; *.wmv;)|All Files (*.*)", 1 + 2, "Media File Name")

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

    ;Wenn keine Datei ausgewählt wurde, darauf hinweisen
    If @Error Then
    MsgBox(16, "NextGenPlayer", "Keine Datei ausgewählt!!!")

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

    ;Wiedergabe stoppen um Error zu verhindern
    Else
    _SoundStop($sound)
    _SoundClose($sound)
    $sound = _SoundOpen($file, "sound1")

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

    ;Falls falscher Dteityp, darauf hinweisen
    If @Error or $sound == 0 Then
    MsgBox(16, "NextGenPlayer", "Der Dateityp wird nicht unterstützt")

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

    ;Return, damit der Player nicht automatisch beendet wird, sondern weiterläuft
    Return
    ElseIf Not StringRight($file, 4) == ".mp3" And Not StringRight($file, 4) == ".wav" And Not StringRight($file, 4) == ".wma" And Not StringRight($file, 4) == ".wmv" Then

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

    ;Wenn die Datei beschädigt ist, darauf hinweisen
    MsgBox(16, "NextGenPlayer", "Die Datei ist entweder beschädigt oder in einem nicht unterstütztem Format!")
    Return
    Else

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

    ;Um mit Slider vor/zurückzuspulen und anzuzeigen
    GUICtrlSetState($Pos, $GUI_DISABLE)
    GUICtrlSetState($Play, $GUI_ENABLE)
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Pause, $GUI_DISABLE)
    GUICtrlSetData($Pos, 0)
    GUICtrlSetLimit($Pos, _SoundLength($sound, 2) / 1000, 0)
    GUICtrlSetData($Max, _SoundLength($sound, 1))

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

    ;Wenn die Datei fertig abgespielt wurde, wiedergabe stoppen
    If _SoundLength($sound, 2) == "0" Then GUICtrlSetData($Max, "??:??:??")
    EndIf
    EndIf
    GUICtrlSetPos($Filelabel, 0, 80, 297)
    Guictrlsetdata($filelabel, $file)
    Endfunc

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

    func radio ()
    _wmploadmedia( $wmp, Guictrlread($Input1))
    Guictrlsetdata($filelabel, "Radio")
    endfunc

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

    func youtube ()
    _IENavigate($oIE, Guictrlread($Input2))
    Guictrlsetdata($filelabel, "Youtube")
    endfunc

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

    func youtubereload ()
    _IENavigate($oIE, Guictrlread($Input2))
    endfunc
    ;Schleife, hier alle Befehle (Play, Pause etc.)
    func revisible ()
    WinSetTrans("NextGenPlayer", "", 0)
    EndFunc
    func setvisible()
    WinSetTrans("NextGenPlayer", "", Filereadline("Settings.conf", 14))
    EndFunc

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

    Func _MoveMarquee()
    Local $aCpos = ControlGetPos($Main, '', $filelabel)
    If $aCpos[0] >= 297 Then $aCpos[0] = 0
    ControlMove($Main, '', $filelabel, $aCpos[0] + 5, $aCpos[1])
    EndFunc

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

    While 1

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

    ;Schliesen beim klicken auf das Kreuz
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    Exit 0
    ;Case $msg = $radioSubMenuItem
    ;If $Input1 <> "Webradio-Url" Then
    ; _wmploadmedia( $wmp, Guictrlread($Input1))
    ;Else
    ;_wmploadmedia( $wmp, Filereadline("settings.conf", 1))
    Case $youtubeitem
    _IENavigate($oIE, Guictrlread($Input2))

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

    Case $SettingsItem
    Run("settings.exe")
    ;Case $msg = $youtube
    ; _IENavigate($oIE, Guictrlread($Input2))

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

    ;Ende
    Case $radioitem
    _wmploadmedia( $wmp, Guictrlread($Input1))

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

    ;Auswählen der abzuspielenden Datei
    Case $OpenSubMenuItem
    $file = FileOpenDialog("Open...", @MyDocumentsDir & "/", "Sound Files (*.mp3; *.wav; *.wma)| MPEG Layer 3 Audio File (*.mp3)| WAVE Audo File (*.wav)| Windows Media Audio File (*.wma)|Video Files (*.wmv;)| Windows Media Video File (*.wma)|All Supported Files (*.mp3; *.wav; *.wma; *.wmv;)|All Files (*.*)", 1 + 2, "Media File Name")
    GUICtrlSetPos($Filelabel, 0, 80, 297)
    Guictrlsetdata($filelabel, $file)
    ;Wenn keine Datei ausgewählt wurde, darauf hinweisen
    If @Error Then
    MsgBox(16, "NexgGenPlayer", "Keine Datei ausgewählt!")

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

    ;Wiedergabe stoppen um Error zu verhindern
    Else
    _SoundStop($sound)
    _SoundClose($sound)
    $sound = _SoundOpen($file, "sound1")

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

    ;Falls falscher Dteityp, darauf hinweisen
    If @Error or $sound == 0 Then
    MsgBox(16, "NextGenPlayer", "Der Dateityp kann nicht abgespielt werden")
    ;Return, damit der Player nicht automatisch beendet wird, sondern weiterläuft
    ;Return

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

    ElseIf Not StringRight($file, 4) == ".mp3" And Not StringRight($file, 4) == ".wav" And Not StringRight($file, 4) == ".wma" And Not StringRight($file, 4) == ".wmv" Then

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

    ;Wenn die Datei beschädigt ist, darauf hinweisen
    MsgBox(16, "NextGenPlayer", "Die Datei ist entweder beschädigt oder im falschen Format!")
    Return
    Else

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

    ;Um mit Slider vor/zurückzuspulen und anzuzeigen
    GUICtrlSetState($Pos, $GUI_DISABLE)
    GUICtrlSetState($Play, $GUI_ENABLE)
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Pause, $GUI_DISABLE)
    GUICtrlSetData($Pos, 0)
    GUICtrlSetLimit($Pos, _SoundLength($sound, 2) / 1000, 0)
    GUICtrlSetData($Max, _SoundLength($sound, 1))

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

    ;Wenn die Datei fertig abgespielt wurde, wiedergabe stoppen
    If _SoundLength($sound, 2) == "0" Then GUICtrlSetData($Max, "??:??:??")
    EndIf
    EndIf
    Case $CloseSubMenuItem
    _SoundStop($sound)
    _SoundClose($sound)
    GUICtrlSetState($Pos, $GUI_DISABLE)
    GUICtrlSetState($Play, $GUI_DISABLE)
    GUICtrlSetState($Pause, $GUI_DISABLE)
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetData($Max, "00:00:00")
    GUICtrlSetLimit($Pos, 0, 0)
    GUICtrlSetData($Pos, 0)

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

    ;Wenn im Menü auf Exit geklickt wurde, wiedergabe stoppen und verlassen
    Case $ExitSubMenuItem
    _SoundStop($sound)
    Exit 0

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

    ;About MSGbox anzeigen, wenn auf About im Menü geklickt wurde
    Case $AboutSubMenuItem
    MsgBox(64,"NextGenAbout","Wilkommen bei NextGenPlayer klicken Sie im Menü auf Öffnen... um eine Datei zu öffnen und danach auf Play um sie abzuspielen. Zum stoppen auf Stop und zum pausieren auf Pause." & @CR & "Copyright 2010 by ed_Hardy aka Leon (NextGenSoft), Project-mp.com")

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

    ;Datei wiedergeben

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

    Case $Play
    _SoundPlay($sound)

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

    ;Die Nicht verfügbaren Tasten/buttons deaktivieren
    GUICtrlSetState($Pos, $GUI_ENABLE)
    GUICtrlSetState($Play, $GUI_DISABLE)
    GUICtrlSetState($Pause, $GUI_ENABLE)
    GUICtrlSetState($Stop, $GUI_ENABLE)

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

    ;Um das Lied zu pausieren
    Case $Pause
    _SoundPause($sound)

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

    ;Die Nicht verfügbaren Tasten/buttons deaktivieren
    GUICtrlSetState($Pos, $GUI_DISABLE)
    GUICtrlSetState($Pause, $GUI_DISABLE)
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Play, $GUI_ENABLE)

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

    ;Lied stoppen
    Case $Stop
    _SoundStop($sound)

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

    ;Die Nicht verfügbaren Tasten/buttons deaktivieren
    GUICtrlSetState($Pos, $GUI_DISABLE)
    GUICtrlSetState($Pause, $GUI_DISABLE)
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Play, $GUI_ENABLE)
    GUICtrlSetData($Max, "00:00:00")
    GUICtrlSetLimit($Pos, 0, 0)
    GUICtrlSetData($Pos, 0)

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

    ;Um vor/zurückzuspulen
    Case $Pos
    _SoundSeek($sound, 0, 0, GUICtrlRead($Pos))
    _SoundPlay($sound)

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

    ;Schleife (Lied immer wiederholen) (de)aktivieren
    Case $LoopSubMenuItem
    If $Loop == True Then
    $Loop = False
    GUICtrlSetState($LoopSubMenuItem, $GUI_UNCHECKED)
    Else
    $Loop = True
    GUICtrlSetState($LoopSubMenuItem, $GUI_CHECKED)
    EndIf
    EndSwitch

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

    ;Um Position des Liedes anzuzeigen
    If _SoundPos($sound, 2) == _SoundLength($sound, 2) And _SoundLength($sound, 2) <> 0 Then
    _SoundStop($sound)
    If $Loop == True Then
    GUICtrlSetData($Pos, 0)
    _SoundStop($sound)
    _SoundPlay($sound)
    ElseIf $Loop == False Then
    GUICtrlSetState($Pos, $GUI_DISABLE)
    GUICtrlSetState($Pause, $GUI_DISABLE)
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Play, $GUI_ENABLE)
    GUICtrlSetData($Pos, 0)
    Else
    MsgBox(16, "Player", "Error!!!")
    EndIf
    EndIf
    If GUICtrlRead($Min) <> _SoundPos($sound, 1) And _SoundPos($sound, 1) <> "0" Then
    GUICtrlSetData($Min, _SoundPos($sound, 1))
    GUICtrlSetData($Pos, _SoundPos($sound, 2) / 1000)
    EndIf

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

    ;Traymenü funktionen
    $msg = TrayGetMsg()
    Select
    Case $msg = 0
    ContinueLoop

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

    Case $msg = $Playitem
    _SoundPlay($sound)

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

    ;Die Nicht verfügbaren Tasten/buttons deaktivieren
    GUICtrlSetState($Pos, $GUI_ENABLE)
    GUICtrlSetState($Play, $GUI_DISABLE)
    GUICtrlSetState($Pause, $GUI_ENABLE)
    GUICtrlSetState($Stop, $GUI_ENABLE)

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

    Case $msg = $pauseitem
    _SoundPause($sound)

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

    ;Die Nicht verfügbaren Tasten/buttons deaktivieren
    GUICtrlSetState($Pos, $GUI_DISABLE)
    GUICtrlSetState($Pause, $GUI_DISABLE)
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Play, $GUI_ENABLE)

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

    Case $msg = $stopitem
    _SoundStop($sound)

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

    ;Die Nicht verfügbaren Tasten/buttons deaktivieren
    GUICtrlSetState($Pos, $GUI_DISABLE)
    GUICtrlSetState($Pause, $GUI_DISABLE)
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Play, $GUI_ENABLE)
    GUICtrlSetData($Max, "00:00:00")
    GUICtrlSetLimit($Pos, 0, 0)
    GUICtrlSetData($Pos, 0)
    Case $msg = $openitem
    $file = FileOpenDialog("Open...", @MyDocumentsDir & "/", "Sound Files (*.mp3; *.wav; *.wma)| MPEG Layer 3 Audio File (*.mp3)| WAVE Audo File (*.wav)| Windows Media Audio File (*.wma)|Video Files (*.wmv;)| Windows Media Video File (*.wma)|All Supported Files (*.mp3; *.wav; *.wma; *.wmv;)|All Files (*.*)", 1 + 2, "Media File Name")
    GUICtrlSetPos($Filelabel, 0, 80, 297)
    Guictrlsetdata($filelabel, $file)
    ;Wenn keine Datei ausgewählt wurde, darauf hinweisen
    If @Error Then
    MsgBox(16, "NextGenPlayer", "Keine Datei ausgewählt!")

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

    ;Wiedergabe stoppen um Error zu verhindern
    Else
    _SoundStop($sound)
    _SoundClose($sound)
    $sound = _SoundOpen($file, "sound1")

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

    ;Falls falscher Dteityp, darauf hinweisen
    If @Error or $sound == 0 Then
    MsgBox(16, "NextGenPlayer", "Der Dateityp kann nicht abgespielt werden")

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

    ;Return, damit der Player nicht automatisch beendet wird, sondern weiterläuft
    Return
    ElseIf Not StringRight($file, 4) == ".mp3" And Not StringRight($file, 4) == ".wav" And Not StringRight($file, 4) == ".wma" And Not StringRight($file, 4) == ".wmv" Then

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

    ;Wenn die Datei beschädigt ist, darauf hinweisen
    MsgBox(16, "NextGenPlayer", "Die Datei ist entweder beschädigt oder in einem nicht unterstützten Format!")
    Return
    Else

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

    ;Um mit Slider vor/zurückzuspulen und anzuzeigen
    GUICtrlSetState($Pos, $GUI_DISABLE)
    GUICtrlSetState($Play, $GUI_ENABLE)
    GUICtrlSetState($Stop, $GUI_DISABLE)
    GUICtrlSetState($Pause, $GUI_DISABLE)
    GUICtrlSetData($Pos, 0)
    GUICtrlSetLimit($Pos, _SoundLength($sound, 2) / 1000, 0)
    GUICtrlSetData($Max, _SoundLength($sound, 1))

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

    ;Wenn die Datei fertig abgespielt wurde, wiedergabe stoppen
    If _SoundLength($sound, 2) == "0" Then GUICtrlSetData($Max, "??:??:??")

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

    EndIf
    EndIf

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

    ;Case $msg = $radioitem
    ;_wmploadmedia( $wmp, Guictrlread($Input1))

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

    EndSelect

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

    Wend

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

    </Array></ie>

    [/autoit]


    PS: Ich weiß, dass das ganze nicht unbedingt perfekt gescriptet ist, aber da ich erst 12 bin könnt ihr mir das hoffentlich verzeihen *grins*