Multimediaplayer UDF

  • Nach längerer Pause habe ich an einer Multimediaplayer UDF gearbeitet. Damit ist es ganz einfach einen auf der BASS.dll Funktionierenden Musikplayer zu bauen, der die grundlegenden Funktionen beherrscht.
    Ein Beispiel:

    [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("Datei Öffnen", 360, 24, 81, 33)
    $hSlider = GUICtrlCreateSlider(0, 88, 625, 20)
    $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]

    Hier noch der Funktionsheader:

    [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?page…4276#post204276
    ; =================================================================================================

    [/autoit]

    Die Notwendigen DLL's:
    Download

    Die UDF
    autoit.de/wcf/attachment/12277/
    Über verbesserungen und Anegungen würde ich mich freuen.

  • Hallo JuraX
    Die Idee, eine Mediaplayer UDF zu bauen ist nett.
    Jedoch gibts einige Bugs in deinem Beispiel:
    Der Lautstärkeregler funktioniert nicht
    Ohne Songs führt der "Playliste Abspielen" Button zum Crash
    Wenn Das Script im selben Ordner wie die Bass.dll ist, muss man @ScriptDir & "\" schreiben, das & "\" ist etwas lästig
    Und zu guter letzt scheit die Fortschrittsanzeige nicht gleichmäßig zu verteilen. Bei einem 3 Minuten langem Lied sind die ersten 2 Balken genauso schnell gefüllt wie bei einem 10 Minuten langem Lied.

    Aber abgesehen von dem Bugs ist es dir ziemlich gut gelungen, einen ganzen Mediaplayer in eine Funktion zu packen :thumbup:
    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.