Hang effekt winsound.PlaySound()- probléma

Hang effekt winsound.PlaySound()- probléma
2020-12-11T17:55:55+01:00
2020-12-11T18:39:09+01:00
2022-10-15T21:16:11+02:00
zizikus
Sziasztok!

A Python-ban nem vagyok jártas, nem tudom megoldni a következő problémát. A gond az, hogy mikor a kis játék programomban egy hangeffektet akarok lejátszani, akkor a fő program megáll kicsit. Hangot lejátszik, és a kép 'kifagy' rövid időre, a hangeffekt után a labda oda ugrik, ahol lennie kell, csak már messze...

Próbáltam egy függvényt írni, majd azt szálban indítani:

Utkoz_wav = 'Utkoz.wav' Gol_wav='Gol.wav' def sound_function(name): winsound.PlaySound(name, winsound.SND_FILENAME) Majd a kód megfelelő helyén: sound_play=threading.Thread(target=sound_function(Utkoz_wav), args=(1,)) sound_play.start()
Más libeket nem szeretnék használni, mert ez egy házi feladat része, nem szeretném, hogy külön libet kelljen telepíteni a tanárnak az ellenőrzéshez.

Az args()-ban kell megadni még valami mást?

Köszi a segítséget!
Mutasd a teljes hozzászólást!
A Thread konstruktorának a target argumentuma valami futtatható kellene hogy legyen, de te helyette meghívod a függvényt, és az eredményét adod át az argumentumként.

Így kéne:

sound_play = threading.Thread(target = sound_function, args = (Utkoz_wav,))
Vagy ha cifrázni akarod, akkor lambda:

sound_play = threading.Thread(target = lambda : sound_function(Utkoz_wav))
(Fejből nem tudom a precedenciákat, lehet hogy a lambda kifejezés köré kell még egy pár zárójel.)
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd