Musikplayer UDF

  • Ich hab mich mal drangesetzt und bisher kommt dashier raus:
    Das ist ein funktionsfähiger musikplayer:

    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ListViewConstants.au3>
    #include <ProgressConstants.au3>
    #include <SliderConstants.au3>
    #include <WindowsConstants.au3>
    #include <musicplayer_UDF.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 625, 426, 192, 124 , Default, $WS_EX_ACCEPTFILES)
    $Button1 = GUICtrlCreateButton("Play/Pause", 32, 24, 89, 33)
    $Button2 = GUICtrlCreateButton("Stop", 184, 24, 97, 33)
    $Button3 = GUICtrlCreateButton("Neue Datei", 360, 24, 81, 33)
    $hSlider = GUICtrlCreateSlider(0, 88, 625, 49)
    $hlistview = GUICtrlCreateListView("Dateiname|Pfad", 8, 176, 601, 233)
    $Progress1 = GUICtrlCreateProgress(16, 128, 521, 33)
    $playplayliste = GUICtrlCreateButton("Playliste Abspielen",500,24)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    _musicmodul_main(@ScriptDir & "\sys\", $Button1, $Button1, $Button2, $hSlider, $Progress1, $Button3, $hlistview,$playplayliste)

    [/autoit]


    Source kommt demnächst...
    hier schonmal der funktionsheader:

    Spoiler anzeigen
    [autoit]

    ; #FUNCTION# ======================================================================================
    ; Name ..........: _musicmodul_main()
    ; Description ...: Eine Funktion zum bauen eines musikplayers
    ; Syntax ........: _musicmodul_main($Dllpath, $playbutton, $pausebutton, $stopbutton, $volumeslider, $progressprogr[, $newfilebutton = ""[, $hlistview = ""[, $playlisteplay = ""[, $applicationname = @ScriptName]]]])
    ; Parameters ....: $Dllpath - Der Pfad zu den DLLs mit abschließendem "\"
    ; $playbutton - Der Playbutton
    ; $pausebutton - Der Pausebutton
    ; $stopbutton - Der Stopbutton
    ; $volumeslider - Der Lautstärkeslider
    ; $progressprogr - Der Progress zum anzeigen des Liedfortschrittes
    ; $newfilebutton - [optional] Der Button zum öffnen einer neuen Datei (default:"")
    ; $hlistview - [optional] Das Playlistelistview (default:"")
    ; $playlisteplay - [optional] Der button zum starten der Playliste (default:"")
    ; $applicationname - [optional] Der Name der Anwendung (default:@ScriptName)
    ; Author ........: JuraX
    ; Remarks .......: Bei einer playliste muss bei GuiCreate nach dem Parameter Width folgendes angehängt werden: [, -1, -1, Default, $WS_EX_ACCEPTFILES]
    ; Link ..........: https://autoit.de/index.php?form=PostAdd&threadID=19334
    ; Example .......: Yes
    ; #include <ButtonConstants.au3>
    ; #include <GUIConstantsEx.au3>
    ; #include <ListViewConstants.au3>
    ; #include <ProgressConstants.au3>
    ; #include <SliderConstants.au3>
    ; #include <WindowsConstants.au3>
    ; #include <musicplayer_UDF.au3>
    ; $Form1 = GUICreate("Form1", 625, 426, 192, 124 , Default, $WS_EX_ACCEPTFILES)
    ; $Button1 = GUICtrlCreateButton("Play/Pause", 32, 24, 89, 33)
    ; $Button2 = GUICtrlCreateButton("Stop", 184, 24, 97, 33)
    ; $Button3 = GUICtrlCreateButton("Neue Datei", 360, 24, 81, 33)
    ; $hSlider = GUICtrlCreateSlider(0, 88, 625, 49)
    ; $hlistview = GUICtrlCreateListView("Dateiname|Pfad", 8, 176, 601, 233)
    ; $Progress1 = GUICtrlCreateProgress(16, 128, 521, 33)
    ; $playplayliste = GUICtrlCreateButton("Playliste Abspielen",500,24)
    ; GUISetState(@SW_SHOW)
    ; _musicmodul_main(@ScriptDir & "\sys\", $Button1, $Button1, $Button2, $hSlider, $Progress1, $Button3, $hlistview,$playplayliste)
    ; =================================================================================================

    [/autoit]


    die bass sachen
    autoit.de/wcf/attachment/8821/

    JuraX

  • Wie es aussieht ist der erste Parameter der Pfad zur Bass.dll wie auch immer. Der zweite für Play, dritte für Pause, vierte für Stop, fünfte für Lautstärke und der sechste für das Musichandle/den Pfad zur Musikdatei.
    Bin ich da richtig? Was für Funktionen hast du noch geplant?[MSIE_newline_end ]

  • so ich verrat doch schonmal die parameter...

    [autoit]

    ; #FUNCTION#======================================================================================
    ; Name ..........: _musicmodul_main()
    ; Description ...: Eine Funktion zum bauen eines musikplayers
    ; Syntax ........: _musicmodul_main($Dllpath,$playbutton, $pausebutton, $stopbutton, $volumeslider[, $newfilebutton = ""[,$applicationname = @ScriptName]])
    ; Parameters ....: $Dllpath - Der Pfad zu den DLLs mit abschließendem "\"
    ; $playbutton - Der Playbutton
    ; $pausebutton - Der Pausebutton
    ; $stopbutton - Der Stopbutton
    ; $volumeslider- Der Lautstärkeslider
    ; $newfilebutton - [optional] Der Button zum öffnen einer neuen Datei (default:"")
    ; $applicationname - [optional] Der Name der Anwendung (default:@ScriptName)
    ; Author ........: JuraX
    ; Remarks .......: Der Lautstärkeregler muss die variable $hSlider haben
    ; Link ..........: https://autoit.de/index.php?form=PostAdd&threadID=19334
    ; Example .......: Yes
    ;
    ;
    ; #include <WindowsConstants.au3>
    ; #include <musicplayer_UDF.au3>
    ; $Form1 = GUICreate("Form1", 260, 115, 192, 124)
    ; $hslider = GUICtrlCreateSlider(0, 64, 257, 33)
    ; $Button1 = GUICtrlCreateButton("Play/Pause", 8, 8, 65, 25, $WS_GROUP)
    ; $Button2 = GUICtrlCreateButton("Stop", 88, 8, 49, 25, $WS_GROUP)
    ; $Button3 = GUICtrlCreateButton("Neue Datei", 152, 8, 73, 25, $WS_GROUP)
    ; GUISetState(@SW_SHOW)
    ; _musicmodul_main(@ScriptDir & "\sys\",$button1, $button1, $button2, $hslider, $Button3)
    ; =================================================================================================

    [/autoit]

    ToDo:

    Spoiler anzeigen


    Fortschrittsbalken
    Wiederholen-Button ----> ist nun Automatisch
    Playlists (mit Exportfunktion) <-----> Drag&Drop

    evtl:
    Konvertierung (vielleicht mit FFMpeg)
    Streamsupport (z.B. für Webradios)
    Coveranzeige des aktuellen Liedes (statt einer Visualisierung)

    so das wars. für anregungen bin ich immmer offen...

    Einmal editiert, zuletzt von JuraX (10. April 2010 um 11:30)

    • Offizieller Beitrag

    Ich finde das gehört in Projekte.

  • Ganz interessant würde ich es finden, wenn der Player folgende Funktionen unterstützte:
    Fortschrittsbalken
    Konvertierung (vielleicht mit FFMpeg)
    Playlists (mit Exportfunktion)
    Streamsupport (z.B. für Webradios)
    Wiederholen-Button
    Drag&Drop
    Coveranzeige des aktuellen Liedes (statt einer Visualisierung)

    Das sind jetzt nur Anregungen, die du ggf. auch mit einbauen kannst.
    Falls mir noch mehr spontane Einfälle kommem, dann werde ich die liste erweitern.

    /Edit: Jetzt hab ich ganz das Feedback vergessen :P
    Ich muss sagen, dass ich das Projekt sehr gut finde, da man sich durch deine
    UDF einen eigenen Musikplayer machen kann, der genau das kann was er soll
    und auf jeden fall nicht noch irgendein unnützes Zeug mitbringt (wie manche anderen Player)! Ich finde die Idee also :thumbup: !

    Wer immer nur das tut, was er bereits kann - wird auch immer nur das bleiben, was er bereits ist!

    • fortschrittsanzeige hinzugefügt
    • loop hinzugefügt

    siehe post #1

    Einmal editiert, zuletzt von JuraX (10. April 2010 um 11:27)

  • So jetzt kann man auch mit playlisten arbeiten (bisher leider nur mit doppelklicken des eintrags...)
    siehe post #1

  • Das ganze Drumrum (Musikplayer) um die Bass.dll lässt sich nicht per UDF darstellen.
    Einen gutes, auskommentiertes Beispiel eines Musikplayers auf bass.dll Basis wäre sinvoller.

    Das ist jetzt aber nur meine Meinung (bevor es gar niemand sagt ...). ;)

    • Offizieller Beitrag

    [/OTon]Mal so an Rande... dein Link im Spoiler verweist auf https://autoit.de/jurax.square7.ch und nicht auf http:/jurax.square7.ch. :pinch: [/OToff]

  • so jetzt kann der slider heißen wie er will, genauso die playliste
    :rofl:

    Einmal editiert, zuletzt von JuraX (7. Januar 2011 um 19:26)