1

我目前正在进行一项实验,要求参与者通过按下键盘上的相应按钮尽快响应逐渐出现在屏幕上的数字(不透明度随时间变化)。对于每个呈现的数字,创建了一个视频(例如,0 逐渐出现在屏幕上)。在我自己的笔记本电脑上,通过在创建 Python 窗口时指定 bitsMode,我设法以慢动作播放这些电影。但是,在我们实验室的实验计算机(Python 版本 1.82.00)上,我收到一条警告说“bitsMode”已被弃用。

我对 Python 还是比较陌生,所以我还没有找到一种不同的(可能更复杂的)方法来做到这一点。你们有谁知道以慢动作播放这些视频的方法(例如,速度 * 0.75)?

亲切的问候,

罗尔·范·多伦

event.Mouse(visible = False)
preTrialPause = [0.1, 0.5, 1, 1.5, 2, 2.5, 3]
blocks = 3
trialnum = 0

countDown(3)
win.update()

for block in range(blocks):
    for eachmovie in movies:
        trialPause = choice(preTrialPause)
        sleep(trialPause)

        mov = visual.MovieStim(win, movieFolder + eachmovie['Movie'], 
                                    flipVert=False, flipHoriz=False, loop=False)
        # Clear keyboard buffer.
        event.clearEvents(eventType = None)

        starttime = time()

        while mov.status != visual.FINISHED:
            mov.draw()
            win.flip(clearBuffer = True)
            for key in event.getKeys():
                responseTime = str(time() - starttime).replace(".",",")
                trialPause = str(trialPause).replace(".", ",")

                if key in ['0','1','2','3','4','5','6','7','8','9']:
                    win.update()
                    trialnum+= 1
                    if key == eachmovie['Movie'][3]:
                        response = 'Correct'
                    else:
                        response = 'Incorrect'
                    mov.status = visual.FINISHED

        if trialnum == 10 and block == 0 or trialnum == 10 and block == 1:
            trialnum = 0
            presentText(win, "\n\nVerplaats je nu weer naar de andere computer. We gaan door met het volgende geheugen-geur blok.")
            response = waitText(win, "")
            presentText(win, "\n\nEr zullen opnieuw langzaam cijfers op het scherm verschijnen. Zo gauw je het cijfer waarneemt, moet je zo snel mogelijk op hetzelfde cijfer op het toetsenbord drukken. Gebruik hiervoor alleen de cijfers rechts op het toetsenbord (het numpad). \n\n\nNogmaals, het gaat bij deze taak om snelheid, dus druk zo snel mogelijk het overeenstemmende cijfer in.\n\n\nDruk op enter om te beginnen!")
            countDown(3)
            win.update()
            break

        elif trialnum == 10 and block == 2:
            presentText(win, "\n\nVerplaats je nu weer naar de andere computer.")
            response = waitText(win, "")
            break
core.quit()
4

0 回答 0