首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kivy SoundLoader使Python变得不响应

Kivy SoundLoader使Python变得不响应
EN

Stack Overflow用户
提问于 2020-05-11 04:13:20
回答 1查看 105关注 0票数 1

我正在和Kivy一起创建一个移动应用程序,并尝试添加蜂鸣声来指示锻炼进度。我已经制作了一个小的(39kb) .mp3文件,其中包含1个蜂鸣音。我已经将这些文件添加到与我的主文件相同的文件夹中,并在Kivy SoundLoader中使用以下代码。下面是最小的可重现代码:

代码语言:javascript
复制
from kivymd.app import MDApp
from kivy.core.audio import SoundLoader

class MainApp(MDApp):
    def on_start(self):
        print("Started")
        self.one_beep = SoundLoader.load('countdown-1 second.mp3')
        print("Finished!")

if __name__ == "__main__":
    MainApp().run()

问题是,当这段代码运行时,这会使我的应用程序在5+分钟内没有响应(打印“Starting”,没有错误消息)。在此之后,应用程序完成加载,再次变得有响应,并播放嘟嘟声。我试着在启动应用程序的时候加载声音,后来当我需要嘟嘟声的时候,但在这两个点上我的应用程序都“崩溃”了。我还尝试为声音创建一个非类变量,并尝试了.wav格式的相同声音。该文件可以在Windows Media Player上播放。我已经在谷歌上搜索了这个网站的答案,但这个问题在其他任何地方都没有表现出来。有没有人知道如何加快加载速度,因为这会使我的应用程序不可用。我现在也尝试了以下建议的线程,但应用程序以相同的方式崩溃(在执行其余部分之前):

代码语言:javascript
复制
def start(self):
    t = threading.Thread(target=self.load_sound())
    t.deamon = True
    t.start()
    self.calculate()
    self.create_workout_list()
    Clock.schedule_interval(self.update,1)

def load_sound(self):
    print("Started")
    self.one_beep = SoundLoader.load('countdown-1 second.mp3')
    self.three_beep = SoundLoader.load('countdown-3 seconds.mp3')
    print("Finished!")

我已经在这里上传了声音:https://sndup.net/37vm

EN

回答 1

Stack Overflow用户

发布于 2020-05-12 01:31:48

我找到解决方案了!我卸载了kivy-deps.angle和kivy-deps.glew,但不知什么原因,它们做到了这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61718134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档