Seite 1 von 1
Bibliothek für Musik-Player
Verfasst: Mittwoch 30. Januar 2019, 15:39
von tommy_45
Hallo zusammen,
ich möchte mit Python einen Musik-Player programmieren. Dieser soll zunächst über die Kommandozeile und später über eine GUI bedient werden.
Um meine Musik abzuspielen, suche ich eine geeignete Bibliothek, welche folgende Vorraussetzungen erfüllen sollte:
- diverse Formate abspielen, auf jeden Fall: mp3, flac, wav
- Aktuelle Position im aktuellen Musikstück ausgeben und speichern (im Falle eines Neustarts der Anwendung)
- unter Windows, Mac und Linux (inklusive Raspberry Pi) verfügbar sein
Hat vielleicht jemand eine Idee für eine geeignete Bibliothek?
Würde mich sehr über Vorschläge freuen!
Mfg
tommy
Re: Bibliothek für Musik-Player
Verfasst: Mittwoch 30. Januar 2019, 15:46
von __deets__
Mir fallen ein
- pygame
- Qt5
Re: Bibliothek für Musik-Player
Verfasst: Mittwoch 30. Januar 2019, 15:52
von tommy_45
Kann man mit pygame FLAC-Dateien öffnen?
Re: Bibliothek für Musik-Player
Verfasst: Mittwoch 30. Januar 2019, 16:05
von __deets__
Kannst du das ggf. selbst nachschauen, oder muss ich das wirklich fuer dich in google eintippen, um dir das Ergebnis dann hier wieder zu reproduzieren? Aus der Bazillion von moeglichen Modulen zwei genannt zu bekommen - da kann man durchaus mal selbst durch die Doku stoebern

Re: Bibliothek für Musik-Player
Verfasst: Mittwoch 30. Januar 2019, 16:46
von tommy_45
Ja, das kann ich!
The Sound can be loaded from an OGG audio file or from an uncompressed WAV.
(siehe
https://www.pygame.org/docs/ref/mixer.html)
Also:
Mit pygame kann ich schonmal nur ogg und wav Dateien spielen. Also leider nicht geeignet.
Bei Qt5 bin ich noch auf der Suche..
Re: Bibliothek für Musik-Player
Verfasst: Mittwoch 30. Januar 2019, 16:54
von tommy_45
.. Und habe mit Qt5 offenbar auch kein Glück, oder?
The QSound class provides a method to play .wav sound files.
(siehe
https://doc.qt.io/qt-5/qsound.html)
Habe ich doch etwas übersehen?
Re: Bibliothek für Musik-Player
Verfasst: Mittwoch 30. Januar 2019, 16:58
von __deets__
Jein. Wenn nur WAV geht, dann kannst du immer noch mp3 und FLAC zu WAV konvertieren, bevor du abspielst. Das machen wir in unserer DAW auch mit mp3s, weil wir am Ende nur WAV bzw. rohen PCM Daten sinnvoll arbeiten koennen.
Damit hast du ggf. entweder eine Anfangs-Verzoegerung, mehr Plattenplatz der verbraucht wird, oder eine etwas anspruchsvollere Architektur mit einem laufenden Dekodier-Prozess. Das sollte aber eigentlich klappen.
Last but not least: du machst dir das Leben selbst schwer, weil du ziemlich viele Randbedingungen stellst. Es ist leider ein aergerlicher Fakt das alles, was mit Multimedia (und damit den Codecs die dazu benoetigt werden) einher geht immer sehr plattform-abhaengig ist. Das es also unter allen Plattformen tut ist nicht trivial. Das ist im Zweifel der Grund, warum pygame eben nur WAV und OGG kann - die sind frei. gstreamer kann alles, laeuft aber so richtig rund ohne weiteres nur auf Linux. Und dann sind da natuerlich noch DirectX und AVFoundation unter Windows respektive macOS.
Wenn du darauf bestehst, das dein Musikplayer auf allen Plattformen geht - dann hast du viel zu tun. Sehr viel.
Nachtrag: Ja, du hast bei Qt was uebersehen:
http://doc.qt.io/qt-5/multimediaoverview.html
Re: Bibliothek für Musik-Player
Verfasst: Mittwoch 30. Januar 2019, 17:14
von __blackjack__
@__deets__: Er hat auch bei Pygame was übersehen, denn auch dort hat er sich den Teil für einzelne Sounds herausgesucht und nicht den mit dem Musik abgespielt wird. Da geht mindestens noch MP3- und MOD-Dateien, und SDL_music kann eigentlich auch FLAC, vermute also mal stark dass das dann auch mit Pygame geht. SDL_music hat auch eine Schnittstelle über die die unterstützen Formate abgefragt werden können, die wird aber offenbar nicht von Pygame weitergereicht.