[python] Přehrávání v pyAudio

Petr Blahoš petr na blahos.com
Středa Prosinec 5 09:16:45 CET 2018


No, jde o to, že ta funkce PrehrajSoubor se zavolá jen jednou, pokaždé,
když zmáčkneš tlačíto Prehraj. Takže při každém stisku tlačítka přehraje
jeden chunk.

Jak radí Jirka, nastuduj si thready. Pozor, u wxpythonu můžeš volat funkce
wxpythonu
jenom z hlavního threadu - musíš nějak posílat tomu hlavnímu threadu
zprávy, ať to
udělá. Myslím, že by se Ti hodily tyto 2 texty:

https://wiki.wxpython.org/Non-Blocking%20Gui
https://wiki.wxpython.org/LongRunningTasks

--
Petr


On Tue, Dec 4, 2018 at 7:34 PM Ctibor.Plasek <Ctibor.Plasek na seznam.cz>
wrote:

> Ahoj.
> Ve wx.python když po stisknutí tlačítka přehrávám stream tímto způsobem:
>
> chunk = 1024
> filePyAudio = wave.open(wavefile,"rb")
> stream = p.open(format =
> p.get_format_from_width(filePyAudio.getsampwidth()), channels =
> filePyAudio.getnchannels(), rate = filePyAudio.getframerate(), output =
> True)
> data = filePyAudio.readframes(chunk)
> while data:
>     stream.write(data)
>
> tak to sice krásně přehrává, ale nedá se už nic jiného dělat, než to
> dohraje.( v zásadě to okno jakoby vytuhne)
> Tak jsem si myslel, že bych nějak v okně kontroloval druhé tlačítko Stop a
> přehrával to vždy po těch kouscích.
> Jenže po klinutí na Play se vždy přehraje pouze jeden chunk a pak se
> zastaví. Všechno jsem zglobalizoval (což myslím není nejlepší nápad), ale
> stejně nic.
> Mohli byste mi, prosím, poradit?
>
> Vše viz přiložený soubor.
>  Díky Ctibor
>
>
> _______________________________________________
> Python mailing list
> python na py.cz
> http://www.py.cz/mailman/listinfo/python
>
> Visit: http://www.py.cz
>


-- 
https://blahos.com/
https://traceability.cz/
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20181205/4e0dbfa3/attachment.html>


Další informace o konferenci Python