Seite 1 von 1

mp3 mit python unter linux öffnen??

Verfasst: Donnerstag 17. September 2009, 16:37
von meister56
Hi,
ich habe hier das Problem entdeckt und weiß nicht wie ich es lösen soll?!
Zuhause arbeite ich immer mit Linux und nun will ich in ein Programm einbauen das Python (2.6) eine mp3-Datei abspielt. In der Schule benutzen wir immer Windows und da habe ich das hier angewendet:

Code: Alles auswählen

import subprocess
musik_datei='C:\\musik.mp3' 
programm='C:\\Programme\\Windows Media Player\\wmplayer.exe' 
subprocess.Popen((programm, musik_datei))
Zu Hause habe ich aber bemerkt das es unter Linux anders funktionieren muss! Könntet ihr mir verraten wie??

Verfasst: Donnerstag 17. September 2009, 16:48
von snafu

Code: Alles auswählen

subprocess.Popen(['mplayer', musik_datei])
MPlayer muss natürlich installiert sein und der Pfad angepasst werden.

Verfasst: Donnerstag 17. September 2009, 17:35
von meister56
Ok. Danke für die Hilfe!

Verfasst: Donnerstag 17. September 2009, 17:44
von problembär
MPlayer ist natürlich ok. Aber der wohl einfachste Konsolen-mp3-Player unter Linux dürfte "mpg123", bzw. "mpg321" sein.

Gruß

Verfasst: Donnerstag 17. September 2009, 18:21
von meister56
Eine frage habe ich dann noch:
Ich würde dazu gerne noch bei der wiedergabe einen stopp und weiter Button einbauen, geht das auch irgendwie?

Verfasst: Donnerstag 17. September 2009, 20:02
von Hyperion
meister56 hat geschrieben:Eine frage habe ich dann noch:
Ich würde dazu gerne noch bei der wiedergabe einen stopp und weiter Button einbauen, geht das auch irgendwie?
Na da musst Du Dich mal mit einem GUI-Toolkit (z.B. Tkinter, wxWidgets, Gtk, Qt) befassen. Gibt ja zig Sachen, die sich da anbieten. Schau einfach mal ins wiki, dort gibts bestimmt einige Links und Tipps. Ansonsten natürlich hier in den entsprechenden Unterforen :-)

Verfasst: Donnerstag 17. September 2009, 20:07
von meister56
ich meine nicht den Button selbst (das ist ja leicht) ich meinte die funktion dafür?! Ich wüsste nicht wie so etwas gemacht wird?!

Verfasst: Donnerstag 17. September 2009, 20:10
von Hyperion
meister56 hat geschrieben:ich meine nicht den Button selbst (das ist ja leicht) ich meinte die funktion dafür?! Ich wüsste nicht wie so etwas gemacht wird?!
Ach so... na da mußte gucken, ob die Tools nen interaktiven Modus haben, bei dem man so ein Signal senden kann.

Hab mal auf die Schnelle das hier gefunden, vielleicht hilft Dir das:
http://www.mplayerhq.hu/DOCS/man/en/mpl ... %20CONTROL

Verfasst: Donnerstag 17. September 2009, 23:15
von problembär
Bei mpg321 ungefähr so:

Code: Alles auswählen

import subprocess
musik_datei = '/home/user/musik.mp3'
programm = ("mpg321", "-R", "abc")
p = subprocess.Popen(programm,
                     stdin = subprocess.PIPE,
                     stdout = subprocess.PIPE,
                     stderr = subprocess.PIPE,
                     bufsize = 0,
                     close_fds = True)
p.stdin.write("LOAD " + musik_datei + "\n")
p.stdin.write("PAUSE\n")
MPlayer ist IMHO deutlich schwerer zu steuern.

Gruß

Verfasst: Freitag 18. September 2009, 09:39
von snafu
Ich bin gestern auf die libplayer gestoßen, die soweit abstrahieren will, dass man mit der gleichen API verschiedene Arten von Playern steuern kann. Es gibt auch Python-Bindings mit einem Beispiel. Vielleicht sagt dir das zu. Ich selbst habe es noch nicht getestet. Auf dem ersten Blick sieht mir die Bedienung noch etwas unpythonisch aus, weil wohl noch stark an C angelehnt. Aber das lässt sich ja notfalls umbauen.

Verfasst: Freitag 18. September 2009, 10:53
von Leonidas
Ein Fall für GStreamer ;)

Verfasst: Freitag 18. September 2009, 11:36
von lunar
Oder Phonon ;)

Verfasst: Freitag 18. September 2009, 11:54
von snafu
PyGame gäb's natürlich auch noch.

Verfasst: Freitag 18. September 2009, 12:48
von meister56
Da es viele Möglichkeiten gibt könnte mir einer sagen welche am besten funktioniert und stillistisch am besten ist?
Und vielleicht auch ein Beispiel zeigen wie so etwas funktioniert da ich mich weder mit Pygame noch mit den anderen Sachen vertraut gemacht habe.
Danke aber für eure Hilfe, ihr habt mir bereits sehr weiter geholfen.

Verfasst: Freitag 18. September 2009, 13:06
von Hyperion
Lunar hat Dir doch sogar ein Snippet verlinkt. Schau Dir das doch einfach mal an.

Verfasst: Sonntag 20. September 2009, 18:43
von meister56
gibt es da auch etwas einfacheres?? ich versteh bei diesem Skript fast alles nicht?!

Verfasst: Sonntag 20. September 2009, 18:58
von TiKaey
Mein 'erstes Mal' mit Musik abspielen mittels mplayer, war dieses hier:
http://www.python-forum.de/post-125567.html#125567

Verfasst: Sonntag 20. September 2009, 20:46
von problembär
meister56 hat geschrieben:gibt es da auch etwas einfacheres?? ich versteh bei diesem Skript fast alles nicht?!
Doch, meines, s.o.. Oder meintest Du das?

Gruß