【发布时间】:2018-10-25 20:47:53
【问题描述】:
我正在使用树莓派开发对象检测模型。我使用 Google 的 Object Detection API 来检测模型,我的问题是如何在检测到特定类的对象(例如人类(即 'id' : 22))时播放声音。
我试了一下,得到的代码是这样的,
if 22 in classes:
threading.Thread(play_sound()).start()
def play_sound():
pygame.init()
pygame.mixer.music.load("")
pygame.mixer.music.play(1,0.0)
pygame.time.wait(5000)
pygame.mixer.stop()
在这段代码中,我遇到的问题是
- 声音甚至在检测到对象之前就开始播放,我尝试调试但不知道为什么。
- 我又开始同一个话题了
- 如果我使用不同的线程,pi 会耗尽资源并停止整个执行
有没有办法让它工作?
提前致谢
【问题讨论】:
-
问题实际上与
machine-learning或object-detection无关 - 请不要向标签发送垃圾邮件(已删除)。 -
作为一个正交问题,我建议您将
pygame.init()和pygame.mixes.music.load(...)移出play_sound()。不要混合构建和运行。 -
好吧,你检查过你的'classes'变量了吗?它可能总是包含 22 吗?
-
@G.Brown 不,它并不总是包含“22”,它只在检测到人类时包含“22”
-
我认为 dedObed 询问的是当前时差是多少,而不是所需/预期的时差。
标签: python raspberry-pi pygame