ARTICLE AD BOX
Kivy SoundLoader.load() crashes (block) if I use KV for UI building, but works fine, when I do widgets in the code. What's the cause? And ho to solve it?
The code, reduced to the load method which blocks everything:
This doesn't work:
my.kv:
#:kivy 1.0.9 MyButton: text: "MyButton"my.py
from kivy.uix.button import Button from kivy.core.audio import SoundLoader class MyButton(Button): pass class MyApp(App): sound = None def build(self): self.sound = SoundLoader.load('music.mp3') return super().build() if __name__ == '__main__': MyApp().run()But this works:
my.py:
from kivy.uix.button import Button from kivy.core.audio import SoundLoader class MyApp(App): sound = None def build(self): self.sound = SoundLoader.load('music.mp3') return button if __name__ == '__main__': MyApp().run()I also traced back where the SoundLoader.load() stops. Soundloader.load() iterates Soundloader._classes as classobj (here: SoundAvplayer) and calls the respective extensions() method to get a list of allowed file extensions. And exactly here inside SoundAvPlayer.extensions() stops the program. Although it only has to return a simple list (or tuple) of strings.
Any idea?
Explore related questions
See similar questions with these tags.
