这是我运行媒体的脚本。这是一个基本的for循环,具有条件超时,可以防止循环立即结束,并能够在设置的持续时间内显示照片。
condition = threading.Condition()
duration = 5
def play_media():
global playing, current_index, touched
playing = 1
while playing == 1:
for file in media_files:
subprocess.Popen(["omxiv", "--blank", file['path']], shell=False)
with condition:
global file_type
# Set the timeout between images
condition.wait(timeout=duration)
我要实现的目标是能够暂停媒体播放,或者换句话说,可以暂停当前图像。 我创建了另一个函数pause_media()可以完成这项工作。
def pause_media():
global duration
duration = 1000000
with condition:
condition.notify()
此问题是condition.notify()将切换到另一张图像,并且该图像将被暂停(持续时间= 100000),而不是触发pause_media()时处于活动状态的图像。
我可以以某种方式更改超时持续时间而无需唤醒线程吗?如果没有,哪种方法更好?