musikplayer ...

  • soooo ... hab alles nochmal überarbeitet ...

    config.cfg
    bei background hab ich es weggenommen ... aber beim start wird es automatisch eingefügt ... also nicht wundern ;D

    Spoiler anzeigen

    play.au3
    (zu compilierende datei ...)

    Spoiler anzeigen
    [autoit]

    #RequireAdmin
    #include-once
    #NoTrayIcon

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

    #Region
    #AutoIt3Wrapper_outfile=Player.exe
    #AutoIt3Wrapper_Res_Comment=fu
    #AutoIt3Wrapper_Res_Description=MusikPlayer by SHADOWZROW
    #AutoIt3Wrapper_Res_Fileversion=2.0
    #EndRegion

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

    #include <StaticConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <Array.au3>
    #include<includes\winamp.au3>
    #include<includes\show.au3>

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

    If FileExists(@scriptdir & "\config.cfg") Then
    $limit = IniRead(@scriptdir & "\config.cfg","def","limit","nill")
    If $limit = "nill" Then
    IniWrite(@scriptdir & "\config.cfg","def","limit","1000")
    $limit = 1000
    EndIf
    $background = IniRead(@scriptdir & "\config.cfg","def","background","nill")
    If $background = "nill" Then
    IniWrite(@scriptdir & "\config.cfg","def","background",@ScriptDir & "\standart.bmp")
    $background = @ScriptDir & "\standart.bmp"
    EndIf
    Else
    IniWrite(@scriptdir & "\config.cfg","def","limit","1000")
    IniWrite(@scriptdir & "\config.cfg","def","background",@ScriptDir & "\standart.bmp")
    EndIf

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

    show($limit,$background)

    [/autoit]

    show.au3
    (include ...)

    Spoiler anzeigen
    [autoit]

    Func show($numbers,$bg)
    Local $avArray[$numbers], $avArraylist[$numbers]

    $search = FileFindFirstFile(@scriptdir & "\streams\*.pls")

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

    For $i = 0 To 1000
    $name = FileFindNextFile($search)
    If @error Then ExitLoop
    _ArrayInsert($avArray, $i, $name)
    Next

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

    $gui = GUICreate("Streams",400,400,default,default,$WS_Sysmenu,$WS_EX_LAYERED)
    $WMP = ObjCreate("WMPLayer.ocx")
    GUISetBkColor(0x000000)
    $listview = GUICtrlCreateListView("nummer|name", 0, 0, 200, 350)
    $Ok = GUICtrlCreateButton("Play",155,351,40,22)
    $input = GUICtrlCreateInput("",0,351,150,23,$ES_READONLY)

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

    $background_pic = GUICtrlCreatePic($bg,200,0,200,400,$SS_LEFT)

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

    For $i = 0 To ($numbers -1)
    $avArraylist[$i] = GUICtrlCreateListViewItem($i & "|" & $avArray[$i], $listview)
    Next

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

    GUICtrlSetState(-1, $GUI_DROPACCEPTED) ; to allow drag and dropping
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then
    $i = IniRead(@scriptdir & "\config.cfg","winamp","close","nill")
    If $i = "nill" Then
    IniWrite(@scriptdir & "\config.cfg","winamp","close","0")
    ElseIf $i = "0" Then
    ExitLoop
    ElseIf $i = "1" Then
    ProcessClose("winamp.exe")
    ExitLoop
    Else
    MsgBox(32,"Error","Error")
    Exit
    EndIf
    ElseIf $msg = $ok Then
    $i = GUICtrlRead($input)
    $pog = IniRead(@scriptdir & "\config.cfg","winamp","scriptdir","nill")
    $name = IniRead(@scriptdir & "\streams\" & $i,"playlist","File1","nill")
    If $pog = "nill" Then
    Winamp_install()
    ElseIf $pog = "WMPLayer.ocx" Then
    If $name = "nill" Then
    Sleep(1)
    Else
    $WMP.url=$name
    Sleep(100)
    $WMP.controls.play()
    $WMP.settings.volume=100
    EndIf
    Else
    ShellExecute($pog,@ScriptDir & "\streams\" & $i)
    EndIf
    Else
    For $i = 0 to ($numbers -1)
    If $msg = $avArraylist[$i] Then
    GUICtrlSetData($input,$avArray[$i])
    EndIf
    Next
    EndIf
    WEnd
    EndFunc

    [/autoit]

    winamp.au3
    (include...)

    Spoiler anzeigen
    [autoit]

    ; http://download.nullsoft.com/winamp/client/…7plus_de-de.exe

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

    $check = IniRead(@scriptdir & "\config.cfg","winamp","scriptdir","nill")
    If $check = "nill" Then
    Winamp_install()
    ElseIf $check = "installing" Then
    MsgBox(0,"Winamp","please insert in the config.cfg your winamp adress")
    Exit
    EndIf

    Func Winamp_install()
    $antwort_1 = MsgBox(0x4,"Winamp","Möchten sie den mitgelieferten Winamp Player nutzen?" & @CRLF & _
    "Ansonsten wird der Windows Media Player benutzt.")
    If $antwort_1 = 6 Then ;(JA)
    IniWrite(@ScriptDir & "\config.cfg", "winamp","scriptdir", @ScriptDir & "\plugin\winamp.exe")
    ElseIf $antwort_1 = 7 Then ;(NEIN)
    $antwort_2 = MsgBox(0x4,"Winamp","Wichtig : " & @CRLF & _
    "Sie benötigen Winamp oder den Windows Media Player" & @CRLF & _
    "für dieses Programm!" & @CRLF & _
    @CRLF & _
    "wollen sie Winamp aus dem Internet laden?")

    If $antwort_2 = 6 Then ;(JA)
    Local $hDownload = InetGet("http://download.nullsoft.com/winamp/client/winamp5571_full_emusic-7plus_de-de.exe", @ScriptDir & "\install.exe", 1, 1)
    Do
    Sleep(250)
    Until InetGetInfo($hDownload, 2)
    Local $nBytes = InetGetInfo($hDownload, 0)
    InetClose($hDownload)
    IniWrite(@ScriptDir & "\config.cfg", "winamp","scriptdir","installing")
    Run(@scriptdir & "\install.exe")
    Exit
    ElseIf $antwort_2 = 7 Then ;(NEIN)
    IniWrite(@ScriptDir & "\config.cfg", "winamp","scriptdir","WMPLayer.ocx")
    EndIf
    EndIf
    EndFunc

    [/autoit]

    alle daten und sources ~~> http://www.fileuploadx.de/430069

    Der aufbau des Pogrammes muss wie folgt sein ...

    Spoiler anzeigen
    Code
    musikplayer ==> Streams ==> (Stream Dateien, .pls Daten ...)
    		plugin 	==> (Winamp Programm)

    wäre nett wenns jemand mal ausprobieren möchte ^^
    und achja ... bass udf hab ich nicht ganz kappiert zu viele neue funktionen bzw. zu viele daten wo man erstmal durchblicken muss ... :pinch:
    und ein thx an euch alle und an Scripter192 ^^

    2 Mal editiert, zuletzt von shadowzrow (1. Januar 2010 um 23:34)

  • soll das ein online player werden?

    weil wenn nicht suche in der Hilfe mal nach _Soundplay, _soundpause etc.

  • Teste doch mal die BASS UDFs ;)


    Arbeitet jemand mit der neusten Version der BASS UDF's?
    Diese scheinen mir ziemlich fehlerhaft. z.B. BassEnc.au3 -> Zeile 108 WARNING: $bassenc_dll: possibly used before declaration.

    edit \ Noch was ist mir aufgefallen: zu den BassEnc.au3 Funktionen wir auch die _BASS_ErrorGetCode() aufgerufen.
    Diese Funktion erfordert aber mit der neusten Bass.au3 keinen Parameter mehr.
    Harmoniert noch nicht wirklich miteinander :(

    2 Mal editiert, zuletzt von nuts (30. Dezember 2009 um 13:12)