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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.