使用条件()

时间:2019-01-29 14:38:19

标签: python python-3.x

这是我运行媒体的脚本。这是一个基本的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()时处于活动状态的图像。

我可以以某种方式更改超时持续时间而无需唤醒线程吗?如果没有,哪种方法更好?

0 个答案:

没有答案