我正在为实验编写任务,我需要用户听到400个纯音的声音脉冲和介于600毫秒之间的间隔,但是 - 在10%的时间间隔内,间隔的持续时间会有变化
用户每次识别持续时间的变化(需要在阵列中保存时间......)时都需要按一个键,如果没有变化,用户就不会触摸键...(所以它是0没有输入,1表示输入)
for i = 1:pulse_number;
wavplay(amplitude*beep,Sr,'async')
pause(ISIarray(i)) % array of different interval duration
end
我找不到运行循环的方法并在循环内收集用户输入( GetChar(psychotoolbox),等待用户输入继续)
谢谢!
答案 0 :(得分:1)
使用KbCheck或KbQueueCheck(如果使用队列)。您将无法使用暂停。相反,使用while循环:
start_time = GetSecs;
while GetSecs - start_time < interval_duration(i)
[press secs] = KbCheck;
end