Anonymous
Sound Player führen zu einem Anwendungsfrieren unter Linux
Post
by Anonymous » 27 Sep 2025, 13:49
Der nächste Code funktioniert einwandfrei unter Windows, führt jedoch zu einem Anwendungsfrieren unter Linux < /p>
Code: Select all
from kivy.app import App
from kivy.uix.button import Button
from kivy.core.audio import SoundLoader
from kivy.clock import Clock
class TestApp(App):
def build(self):
btn = Button(text="Play")
btn.bind(on_release=lambda x: self.play_music())
return btn
def play_music(self):
sound = SoundLoader.load("assets/test.mp3")
if sound:
Clock.schedule_once(lambda dt: sound.play(), 0)
if __name__ == "__main__":
TestApp().run()
Die nächste Spezifikation wurde für Python -m PyInstaller tlum.spec :
verwendet
Code: Select all
# -*- mode: python ; coding: utf-8 -*-
from PyInstaller.utils.hooks import collect_dynamic_libs
a = Analysis(
['../src/main.py'],
pathex=['.'],
binaries=collect_dynamic_libs('kivy'),
datas=[
("../src/component/*.py","component"),
("../src/controller/*.py","controller"),
("../src/l18n/*.py","l18n"),
("../src/template/*.kv","template"),
],
hiddenimports=['kivy.core.audio'],
hookspath=[],
hooksconfig={},
runtime_hooks=[],
excludes=[],
noarchive=False,
optimize=0,
)
pyz = PYZ(a.pure)
exe = EXE(
pyz,
a.scripts,
[],
exclude_binaries=True,
name='tlum',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=False,
disable_windowed_traceback=False,
argv_emulation=False,
target_arch=None,
codesign_identity=None,
entitlements_file=None,
icon=['logo.png'],
)
coll = COLLECT(
exe,
a.binaries,
a.datas,
strip=False,
upx=True,
upx_exclude=[],
name='tlum',
)
ci/cd Schritte:
# > sudo apt-get install libsdl2-mixer-2.0-0 libsdl2-mixer-dev
# > sudo apt-get install libvorbisfile3 libmpg123-0
# > sudo apt-get install ffmpeg libavdevice-dev libavformat-dev libavfilter-dev
# > python -m PyInstaller tlum.spec
< /code>
Was fehlt? Alle Vorschläge wären sehr geschätzt
1758973771
Anonymous
Der nächste Code funktioniert einwandfrei unter Windows, führt jedoch zu einem Anwendungsfrieren unter Linux < /p> [code]from kivy.app import App from kivy.uix.button import Button from kivy.core.audio import SoundLoader from kivy.clock import Clock class TestApp(App): def build(self): btn = Button(text="Play") btn.bind(on_release=lambda x: self.play_music()) return btn def play_music(self): sound = SoundLoader.load("assets/test.mp3") if sound: Clock.schedule_once(lambda dt: sound.play(), 0) if __name__ == "__main__": TestApp().run() [/code] Die nächste Spezifikation wurde für Python -m PyInstaller tlum.spec : verwendet[code]# -*- mode: python ; coding: utf-8 -*- from PyInstaller.utils.hooks import collect_dynamic_libs a = Analysis( ['../src/main.py'], pathex=['.'], binaries=collect_dynamic_libs('kivy'), datas=[ ("../src/component/*.py","component"), ("../src/controller/*.py","controller"), ("../src/l18n/*.py","l18n"), ("../src/template/*.kv","template"), ], hiddenimports=['kivy.core.audio'], hookspath=[], hooksconfig={}, runtime_hooks=[], excludes=[], noarchive=False, optimize=0, ) pyz = PYZ(a.pure) exe = EXE( pyz, a.scripts, [], exclude_binaries=True, name='tlum', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, console=False, disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, icon=['logo.png'], ) coll = COLLECT( exe, a.binaries, a.datas, strip=False, upx=True, upx_exclude=[], name='tlum', ) [/code] ci/cd Schritte: # > sudo apt-get install libsdl2-mixer-2.0-0 libsdl2-mixer-dev # > sudo apt-get install libvorbisfile3 libmpg123-0 # > sudo apt-get install ffmpeg libavdevice-dev libavformat-dev libavfilter-dev # > python -m PyInstaller tlum.spec < /code> Was fehlt? Alle Vorschläge wären sehr geschätzt