'time sleep function' 在不断变化的视频循环中出现问题
'time sleep function' makes problem in the changing videos loop
我是初学者并且
我使用超声波传感器在 Raspberry Pi 中编写了视频触发循环代码,但问题是视频('movie1' 和 'movie2')不能根据距离立即改变。我猜,这个问题是由 time.sleep 函数引起的,但是当我删除睡眠部分时,我的代码没有工作,甚至 Raspberry pi 也被关闭了。我该如何解决这个问题?如果您有任何建议,我将不胜感激!谢谢!
我考虑过 'datetime function' 而不是 'time.sleep',但我不知道如何将函数放入我的代码中。
while True:
dist = distance()
time.sleep(1)
if (distance() <= 100):
zone = 1
if (distance() >= 2000):
zone = 1
elif (100 < distance() < 2000):
zone = 2
if (zone == 1):
Popen(['/usr/bin/omxplayer', '--display','0', movie1])
time.sleep(6)
if (zone == 2):
Popen(['/usr/bin/omxplayer', '--display','0', movie2])
time.sleep(6)
当您删除 time.sleep(6)
代码时,一遍又一遍地打开 movie1。您可以尝试添加一个控制语句来打破无限循环,例如:
zone1,zone2=True,True #before the loop
if (distance() <= 100):
zone = 1
if (distance() >= 2000):
zone = 1
elif (100 < distance() < 2000):
zone = 2
if (zone == 1 and zone1):
Popen('killall "omxplayer.bin"',shell=True)
Popen(['/usr/bin/omxplayer', '--display','0', movie1])
zone1=False
zone2=True
if (zone == 2 and zone2):
Popen('killall "omxplayer.bin"',shell=True)
Popen(['/usr/bin/omxplayer', '--display','0', movie2])
zone2=False
zone1=True
或
我建议你在 python 中播放视频。 idk if works with raspberry pi 但 opencv 很适合这个工作
我是初学者并且 我使用超声波传感器在 Raspberry Pi 中编写了视频触发循环代码,但问题是视频('movie1' 和 'movie2')不能根据距离立即改变。我猜,这个问题是由 time.sleep 函数引起的,但是当我删除睡眠部分时,我的代码没有工作,甚至 Raspberry pi 也被关闭了。我该如何解决这个问题?如果您有任何建议,我将不胜感激!谢谢!
我考虑过 'datetime function' 而不是 'time.sleep',但我不知道如何将函数放入我的代码中。
while True:
dist = distance()
time.sleep(1)
if (distance() <= 100):
zone = 1
if (distance() >= 2000):
zone = 1
elif (100 < distance() < 2000):
zone = 2
if (zone == 1):
Popen(['/usr/bin/omxplayer', '--display','0', movie1])
time.sleep(6)
if (zone == 2):
Popen(['/usr/bin/omxplayer', '--display','0', movie2])
time.sleep(6)
当您删除 time.sleep(6)
代码时,一遍又一遍地打开 movie1。您可以尝试添加一个控制语句来打破无限循环,例如:
zone1,zone2=True,True #before the loop
if (distance() <= 100):
zone = 1
if (distance() >= 2000):
zone = 1
elif (100 < distance() < 2000):
zone = 2
if (zone == 1 and zone1):
Popen('killall "omxplayer.bin"',shell=True)
Popen(['/usr/bin/omxplayer', '--display','0', movie1])
zone1=False
zone2=True
if (zone == 2 and zone2):
Popen('killall "omxplayer.bin"',shell=True)
Popen(['/usr/bin/omxplayer', '--display','0', movie2])
zone2=False
zone1=True
或
我建议你在 python 中播放视频。 idk if works with raspberry pi 但 opencv 很适合这个工作