1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Forum
  3. AutoIt 3
  4. Projekte

Starplayer v4

  • Oscar
  • 2. August 2017 um 10:14
1. offizieller Beitrag
  • Oscar
    Moderator
    Reaktionen
    8
    Beiträge
    7.381
    • 2. August 2017 um 10:14
    • Offizieller Beitrag
    • #1

    Nachdem die letzte Version von meinem MP3-Player (Starplayer v3) bereits 7 Jahre her ist, habe ich den Player mal fast komplett neu geschrieben.
    Er entspricht jetzt meinen Anforderungen und ich möchte ihn mit euch teilen.
    Es gibt viele MP3-Player-Programme, warum also noch eines?
    Zum Einen natürlich, weil es mir Spaß macht, sowas in AutoIt zu programmieren. Zum Anderen aber auch, weil ich so ein paar Besonderheiten einbauen kann.
    Eine (für mich) wesentliche Besonderheit ist die Möglichkeit die Titel aus einer Playlist zu exportieren. Was heißt das?
    Nun, man lädt eine Playlist in den Starplayer oder stellt eine Playlist zusammen, das ist egal. Wenn man damit fertig ist, klickt man im Kontextmenü vom Starplayer "Playlist exportieren" an, wählt dann ein Zielverzeichnis und der Starplayer kopiert alle MP3-Dateien aus der Playlist in dieses Zielverzeichnis. Außerdem erstellt er eine Playlist ("!Playlist.m3u") mit den MP3-Dateien und speichert sie im Zielverzeichnis. Sehr praktisch, wenn man eine SD-Card für's Auto befüllen will.
    Eine weitere Besonderheit ist die Möglichkeit, die abgespielten MP3s in eine Playlist zu protokollieren. So kann man den Starplayer auf einer Party verwenden und kann hinterher noch genau sehen, wann welcher Titel gespielt wurde.
    Natürlich kann man den Starplayer auch als Standard-Player für ".mp3" und ".m3u" registrieren, sodass man die MP3s auch per Doppelklick abspielen kann. Befindet sich noch kein Titel in der Playlist, wird der neue Titel auch gleich abgespielt, ansonsten wird er an die Playlist angehängt.
    Das festlegen der Aus- und Einblendzeit ist auch so eine Besonderheit, die mir wichtig war. So entsteht ein Überblendeffekt bzw. es verringert die Pausenzeit zwischen den Titeln.
    Ich habe aber auch eine Hilfe geschrieben, wo ich noch auf einige Dinge hinweise.

    Screenshot:
    Starplayer_Screenshot.png

    Update v4.0.1.0:
    - Die GUIs für die Programm-Informationen und die Hilfe werden jetzt nur einmalig bei Programmstart erstellt und dann nur per SHOW/HIDE ein-/ausgeblendet. Irgendwie führte das dynamische erstellen der GUIs zu gelegentlichen Abstürzen von AutoIt. Das sollte jetzt behoben sein.
    - Ich habe beim Start des Programms noch einen Test eingebaut, ob die zuletzt gespeicherte Position des Fensters noch einem Monitor entspricht (im Multi-Monitor-Betrieb könnte es ja sein, dass der Monitor abgeschaltet ist). Wenn dort kein Monitor ist, dann wird der Starplayer auf dem aktuellen Monitor zentriert gestartet.
    - Es gibt jetzt auch eine Installer-Version (die befindet sich im "Starplayer_v4_0_1_0_Setup.zip"-Archiv im Anhang). Danke Musashi, für die Hilfe mit InnoSetup! :thumbup:


    Alle benötigten Dateien (Script, Includes, Grafiken, Icons, Fonts, etc.) findet ihr im ZIP-Archiv im Anhang.

    Dateien

    Starplayer_v4_0_1_0.zip 2,11 MB – 411 Downloads Starplayer_v4_0_1_0_Setup.zip 2,38 MB – 390 Downloads

    MfG. Oscar

    Forum: Arduino, Elektronik, AutoIt

    3 Mal editiert, zuletzt von Oscar (4. August 2017 um 14:42)

    • Nächster offizieller Beitrag
  • olfibits
    Fortgeschrittener
    Beiträge
    169
    • 2. August 2017 um 13:12
    • #2

    Oha sieht ja mal richtig gut aus, gleich mal ausprobieren ;)

    neben AutoIt jetzt auch noch in C/C++, Java und Python aktiv :)
    Stand 04.04.2018, 13:34

  • UEZ
    Auch am Arsch geht ein Weg vorbei...
    Reaktionen
    3
    Beiträge
    2.582
    • 2. August 2017 um 15:11
    • #3

    Hallo Oscar,

    hier das Resultat einiger Tests:

    • wenn der ID3 Tag nicht gelesen werden kann, wird die Datei nicht hinzugefügt -> da würde ich den Dateiname nehmen
    • wenn ich eine Datei per DnD auf die GUI ziehe und Play drücke, wird die Liste geleert (Anzahl = 0, Dauer = 00:00:00)
    • einmal ist das Skript abgestürzt, als ich das Skript geschlossen habe, aber die Musik noch spielte
    • vor / zurück Spulen funktioniert nur, wenn man auf die Position klickt, aber nicht, wenn man den grauen Knopf verschieben will

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Oscar
    Moderator
    Reaktionen
    8
    Beiträge
    7.381
    • 2. August 2017 um 15:33
    • Offizieller Beitrag
    • #4
    Zitat von UEZ

    Hallo Oscar,

    hier das Resultat einiger Tests:

    • wenn der ID3 Tag nicht gelesen werden kann, wird die Datei nicht hinzugefügt -> da würde ich den Dateiname nehmen
    • wenn ich eine Datei per DnD auf die GUI ziehe und Play drücke, wird die Liste geleert (Anzahl = 0, Dauer = 00:00:00)
    • einmal ist das Skript abgestürzt, als ich das Skript geschlossen habe, aber die Musik noch spielte
    • vor / zurück Spulen funktioniert nur, wenn man auf die Position klickt, aber nicht, wenn man den grauen Knopf verschieben will

    Zu 1: Ja, das stimmt! Um in die Liste aufgenommen zu werden, muss der ID3-Tag korrekt sein. Das habe ich so programmiert, weil es sonst Probleme mit kaputten MP3s geben kann. Ich weiß nicht, ob es sinnvoll ist, stattdessen den Dateinamen einzusetzen. Wie ermittele ich dann die Laufzeit?
    Zu 2: Das ist so korrekt/so gewollt! Jeder Titel, der abgespielt wird, wird aus der Liste entfernt, sodass der nächste Titel stets oben steht.
    Zu 3: Ich dachte, dass ich die Probleme beseitigt hätte. Bei mir ist das in letzter Zeit nicht mehr passiert. Ich muss nochmal genau nachsehen, ob ich irgendwo ein Handle oder so übersehen habe, was nicht freigegeben wird...
    Zu 4: Ja, ein verschieben mit dem grauen Knopf habe ich gar nicht vorgesehen. Ich halte das für überflüssig, weil man dann die Musik zwangsläufig anhält.

    MfG. Oscar

    Forum: Arduino, Elektronik, AutoIt

    • Vorheriger offizieller Beitrag
    • Nächster offizieller Beitrag
  • UEZ
    Auch am Arsch geht ein Weg vorbei...
    Reaktionen
    3
    Beiträge
    2.582
    • 2. August 2017 um 16:47
    • #5
    Zitat von Oscar

    Wie ermittele ich dann die Laufzeit?

    Du kannst mit den Funktionen

    • BASS_ChannelGetLength (liefert die Länge in Bytes)
    • BASS_ChannelBytes2Seconds (wandelt die Bytes in Sekunden um)

    die Zeit ermitteln.

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • Oscar
    Moderator
    Reaktionen
    8
    Beiträge
    7.381
    • 2. August 2017 um 17:21
    • Offizieller Beitrag
    • #6
    Zitat von UEZ

    Du kannst mit den Funktionen

    BASS_ChannelGetLength (liefert die Länge in Bytes)

    BASS_ChannelBytes2Seconds (wandelt die Bytes in Sekunden um)
    die Zeit ermitteln.

    Ja, das ist mir schon bekannt. Das benutze ich ja bei den abgespielten MP3s.
    Aber ich müsste dann jede Drap&Drop-Datei erst mit BASS öffnen und die Laufzeit auslesen, bevor ich sie zum Listview hinzufüge.
    Ich weiß jetzt nicht, wie lange das dauert. Müsste ich mal testen...

    MfG. Oscar

    Forum: Arduino, Elektronik, AutoIt

    • Vorheriger offizieller Beitrag
    • Nächster offizieller Beitrag
  • alpines
    天照大神
    Beiträge
    4.209
    • 2. August 2017 um 17:52
    • #7
    Zitat von UEZ

    BASS_ChannelBytes2Seconds (wandelt die Bytes in Sekunden um)

    Da habe ich eine Frage wenn du mir da mal aushelfen könntest.

    In praktisch jedem Player habe ich das Problem, dass meine Musikdateien immer 2-3 Sekunden vor dem Ende aufhören weil er scheinbar die Länge falsch berechnet.
    Hast du eine Ahnung woran das liegen könnte?

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

  • UEZ
    Auch am Arsch geht ein Weg vorbei...
    Reaktionen
    3
    Beiträge
    2.582
    • 2. August 2017 um 22:44
    • #8

    Keine Ahnung, woran das liegen könnte. Vielleicht gibt es eine Option "Trim Silence", um die Stille am Anfang / Ende zu entfernen.

    Vielleicht liegt's ja an VBR...

    Auch am Arsch geht ein Weg vorbei...

    ¯\_(ツ)_/¯

  • alpines
    天照大神
    Beiträge
    4.209
    • 2. August 2017 um 22:52
    • #9
    Zitat von UEZ

    Vielleicht liegt's ja an VBR...

    Aber in Audacity werden die Waveforms richtig dargestellt. Da geht die Datei wirklich von Anfang bis Ende und da ist kein stiller Teil.
    Und ich habe ausnahmslos CBR Musik.

    86152-alpi7958-png

    ►►► PassIt2 - Dateien zwischen PCs einfach und bequem übertragen!

    ► GUIScaler - GUIs automatisch zur DPI skalieren lassen (Windows 7 und Windows 10 Per-Monitor-DPI)

    ► TrackMania² Automated Server Controller (TMASECO) - Controller inklusive Manialinkpage-Support in AutoIt!

    ► Extensa - Hotkeys für unterschiedliche Eingabegeräte trennen

    ► Lust auf ein kleines Spiel in AutoIt? Snake, Tunnel, Tetris, NumberStrike, Pazaak (Star Wars)

    Der Rest meiner Werke

    A*-Algorithmus - Pathfinding

    C# / VB .NET DLLs erstellen und in AutoIt verwenden!

    Funktionsplotter

    Integralrechner
    Dezimal- zu Binär-Umrechner

    NumberConvert
    _SquareRoot
    _WinGetTitleEx
    Tap - BPM Counter
    Wake On Lan

    _ArraySortStable2D

    RingBuffer.au3

  • Musashi
    Gast
    • 3. August 2017 um 10:38
    • #10

    Hallo @Oscar !
    Schaue bitte mal in den Bereich 'Konversation' - da ist eine kleine Überraschung drin :D .

    Gruß Musashi

  • NO1 :-)
    Fortgeschrittener
    Beiträge
    186
    • 3. August 2017 um 13:51
    • #11

    Geiles Ding, Oscar, funktioniert bei mir wunderbar...

  • Oscar
    Moderator
    Reaktionen
    8
    Beiträge
    7.381
    • 4. August 2017 um 13:49
    • Offizieller Beitrag
    • #12

    Es gibt noch ein kleines Update, womit (hoffentlich) die gelegentlichen Abstürze behoben sind.
    Außerdem gibt es jetzt auch eine Installer-Version. Danke Musashi, für die Hilfe mit InnoSetup!

    MfG. Oscar

    Forum: Arduino, Elektronik, AutoIt

    • Vorheriger offizieller Beitrag
  • Musashi
    Gast
    • 4. August 2017 um 13:53
    • #13

    Hallo Oscar !

    Schaue bitte noch mal in den Bereich 'Konversationen'.
    Sorry an die Anderen für diesen privaten Beitrag.

    Gruß Musashi

  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™