Python Sound ausgabe

OP #7277412
Lesenswert?

Hallo zusammen,

kurze Frage, gibt es in Python eine Library die Sounds zur gleichen Zeit 
abspielen kann... playsound und der andere Kram kann man leider nicht 
zusammen abspielen lassen, daher dass das Programm immer darauf wartet 
bis der Sound zu Ende gespielt ist.
#7277489
Lesenswert?

Darth V. schrieb:
> kurze Frage, gibt es in Python eine Library die Sounds zur gleichen Zeit
> abspielen kann... playsound und der andere Kram kann man leider nicht
> zusammen abspielen lassen, daher dass das Programm immer darauf wartet
> bis der Sound zu Ende gespielt ist.

Python unterstützt Multiprocessing und Multithreading mithilfe der 
Module "multiprocessing" respektive "threading", die in jeder 
Standardinstallation vorhanden sein sollten. Ausführlichere Einführungen 
dazu findest Du unter [1] und [2], die Dokumentationen der Module unter 
[3] und [4]. Es empfiehlt sich, beide Module anzuschauen und die 
Dokumentationen von beiden bis zum Ende zu lesen.

Außerdem gibt es mit dem Standardmodul concurrent und dessen Untermodul 
concurrent.futures noch eine weitere Möglichkeit, aber das ist für 
Deinen Anwendungsfall vermutlich weniger gut geeignet.

Eine dritte Möglichkeit bietet das ebenfalls standardmäßig installierte 
Modul subprocess, mit dem Du einen externen Audioplayer wie zum Beispiel 
mpg321(1) oder mp3blaster starten könntest.

Am Ende unterstützt Python natürlich den klassischen UNIX-Weg zum Start 
neuer Prozesse mit den Systemfunktionen fork(2) und execve(2) und den 
darauf aufbauenden Library-Funktionen der exec-Familie. Sowohl fork() 
als auch die Funktionen der exec-Familie finden sich im Standardmodul 
os, das ebenfalls in jeder Python-Installation vorhanden sein sollte. 
Inwieweit diese Funktionen unter Windows vorhanden sind und 
funktionieren, kann ich allerdings nicht sagen.

Da ein Vorredner bereits auf eine Manpage verwiesen hat sei daran 
erinnert, daß das Kommando zur Anzeige von Python-Dokumentation nicht 
man(1) ist, sondern natürlich pydoc(1). Auch das sollte in jeder 
Standardinstallation vorhanden sein.

[1] https://realpython.com/intro-to-python-threading/
[2] https://realpython.com/python-concurrency/
[3] https://docs.python.org/3/library/threading.html
[4] https://docs.python.org/3/library/multiprocessing.html
Gast #7277530
Lesenswert?

Darth V. schrieb:
> kurze Frage, gibt es in Python eine Library die Sounds zur gleichen Zeit
> abspielen kann... playsound und der andere Kram kann man leider nicht
> zusammen abspielen lassen, daher dass das Programm immer darauf wartet
> bis der Sound zu Ende gespielt ist.

Lies es (playsound) mal durch und überdenke deine Aussage. ;-)
#7277612
Lesenswert?

Εrnst B. schrieb:
> Evtl. mit Kanonen auf Spatzen, aber es gibt SDL-Bindings für Python.
> Ist eigentlich für Spiele u.Ä., und bringt deshalb auch
> Grafik&Animations-Zeug mit, aber eben auch einen Sound-Teil.
>
> https://pysdl2.readthedocs.io/en/latest/modules/sdl2_sdlmixer.html

Stimmt, gute Idee. Angelegentlich sei auch PyGame erwähnt: [1].

[1] https://www.pygame.org/news

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren